corePHP Usability Accessibility by Steven Pignataro


Published on

corePHP Usability Accessibility by Steven Pignataro presentation given at CMS Expo in Denver, December 2008.

Published in: Technology, Design
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Welcoming Let me first introduce myself. I am Steven Pignataro CEO and co-owner of ‘corePHP’. ‘corePHP’ has been in existence since 2001 and we pride ourselves in the quality development and services that we provide. I am one of the oldest members of the Joomla! Community - no not of my age but of the projects age. I was part of the original team for Mambo development. With this I have spent most of my time researching and developing concepts for the project, helping others through development, marketing of the project, and forum administration. In 2006 I stepped down from the project. Today ‘corePHP’ provides training, support, custom development for Joomla!, print design, high quality template designs, data recovery, and enterprise level digital signage software solutions. So with all the above things that we do - I hope that throughout this presentation you will learn what we have learned over the past 8-10 years - or more then 100+ combined years of experience within our company (it just sounds funny if you think about it).
  • corePHP Usability Accessibility by Steven Pignataro

    1. 1. Usability and Accessibility Steven Pignataro CEO
    2. 2. CONTENTS <ul><li>Fill in with all the content that will be discuss throughout - just a brief overview - last thing to do. </li></ul>
    3. 3. Defining Usability How usable is this presentation?
    4. 4. What is Usability? <ul><li>Designers and Developers ensure that websites work well and a person of average (or lower) ability and experience can properly use it. </li></ul><ul><li>Provide to the end user a easy navigation system that allows for many different ways of getting to content. </li></ul>
    5. 5. Examples of Bad Usability <ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul>
    6. 6. Good Examples of Usability <ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul>
    7. 7. So why care about Usability? <ul><li>Increased productivity (for the user) </li></ul><ul><li>Decreased training and support costs </li></ul><ul><li>Increased enrollment (sales and revenues) </li></ul><ul><li>Reduced development time and costs </li></ul><ul><li>Reduced maintenance costs </li></ul><ul><li>Increased customer satisfaction </li></ul>
    8. 8. The usable way <ul><li>Don’t make the end user think! </li></ul><ul><li>As much as possible, when you look at a website, It should be self-evident. Obvious. Self Explanatory. To the point. Pop-out. (you get the picture) </li></ul><ul><li>If the user has to extend or exert extra effort to complete a task, then you can still refine your efforts to make the task easier. </li></ul>
    9. 9. Which is a button? <ul><li>The example to the right shows 3 different buttons. As an end user which looks like a button to you? </li></ul><ul><li>We have the underline for text hyperlinks. </li></ul>
    10. 10. How do you view a site? <ul><li>Raise you hand if you read a web site? If anyone in this room raises there hand - Steven (the presenter) has full right to grab you by your undies and pitch you outside in the snow. </li></ul>
    11. 11. We do not read sites! <ul><li>Yep you read the title right - we do not read sites. We scan them. 9 out of 10 users will scan a site to find the information they are looking for. </li></ul>
    12. 12. How you (designer) reads a site!
    13. 13. How user (not you) reads the site!
    14. 14. How the Zen Penguin reads the site!
    15. 15. The users point of view <ul><li>A user will look for anything that is off there interest and move on. </li></ul><ul><li>Pretty much find something that vaguely resembles what they are searching for. </li></ul>
    16. 16. What will help? <ul><li>Site identification (site logo and tagline) </li></ul><ul><li>Page name </li></ul><ul><li>Sections and sub-sections (global navigation) </li></ul><ul><li>Local navigation </li></ul><ul><li>“You are here” indicators (breadcrumbs) </li></ul><ul><li>Search </li></ul>
    17. 17. Visual See It!
    18. 18. Get feedback <ul><li>If you do not get user feedback on the work you do then the work done is not 100% usable. As developers we sometimes get lost into code / design / etc that we forget the basics and need to be slapped a bit in order to make things easier for people. JUST TEST IT!!! </li></ul>
    19. 19. Test Drive that new Porsche <ul><li>You test a car before you drive it? So test your site before you deploy it! </li></ul>
    20. 20. Accessibility What am I see?
    21. 21. What is web accessibility <ul><li>It’s about making websites accessible to all people with disabilities as well as to people using different operating systems, web browsers and devices. </li></ul><ul><li>More specifically, web accessibility means that people with disabilities can perceive, understand, navigate, and interact with the web. Web accessibility also benefits others, including older people with changing abilities due to aging. </li></ul>
    22. 22. Starting with Accessibility <ul><li>Practice of making web pages on the Internet accessible to all users, especially those with disabilities. </li></ul><ul><li>You cannot use something if you do not have access to it. </li></ul><ul><li>Make your site accessible by following the web standard by w3c - </li></ul>
    23. 23. Rafael - The Penguin: Hard at work! Rafael waking Kobby up to Learn Accessibility
    24. 24. Totally not accessibly to users! Why make your site that way?
    25. 25. Why is Web Accessibility Important? <ul><li>Firstly, it is now a law. June 21st 2001 new rules where mandated and applied to websites operated by the federal government agencies. Higher education is also moving towards accessible designs for there web sites. </li></ul><ul><li>Secondly, it is the right thing to do. By providing access to web-based information to others with disabilities you provide a better site over all. </li></ul><ul><li>Lastly, it is great strategy. This allows you to provide your site in a very mobile format. </li></ul>
    26. 26. Why Cont. <ul><li>Accessible design improves maintainability and efficiency of sites. By separating structure and presentation and style sheets you can easily change the look of a site by modifying one file. It is just forward thinking. </li></ul><ul><li>Techniques like using style sheets, color independence, and avoiding deprecated elements makes web content more readily available to the changing which is nice considering the constant change in technology. </li></ul>
    27. 27. What type of users? <ul><li>Blind users: web users who have no sight may utilize a screen reader. This type of software reads the content of the web page, or rather the HTML, back to them. This sites between the user and the browser, sifts through the HTML markup and deciphers the technology to what should be read aloud and what should be ignored. </li></ul><ul><li>Partial or poor sight users: Users that enlarge text within there browsers. Users may also us the built in screen magnifiers. </li></ul>
    28. 28. Users Cont. <ul><li>Deaf Users: These users are able to access the internet in much the same way as non-deaf people with one key exception - AUDIO content. Be sure to provide written transcripts for some of your content if video recorded. </li></ul><ul><li>Keyboard/voice only users: some users may not have the ability to use a mouse. </li></ul>
    29. 29. Making the Web Accessible: <ul><li>Making a site accessible generally means using HTML to structure data properly and make sure you add accessibility features where relevant. </li></ul>
    30. 30. Three Key Steps: <ul><li>Step One: </li></ul><ul><ul><li>Learn and follow established accessibility guidelines and standards. </li></ul></ul><ul><ul><li>Section 508 Guidelines (1194.22 Standards) </li></ul></ul>
    31. 31. Three Key Steps: Cont. <ul><li>Step Two: </li></ul><ul><ul><li>Validate your HTML and CSS code to be sure that it is error-free and complies with the federal standards. A key to accessibility is to design for device independence, so that your pages work on any device, that supports the openly published standards. The existence of standards such as HTML 4, XHTML and CSS makes this a possibility. Error-free, well-formed, standards-compliant HTML is the foundation of an accessible web site. The more a page is edited and re-edited in a WYSIWYG program, the more syntax errors will creep in. Many WYSIWYG programs generate tag soup. This is particularly true if the author is an HTML novice or is paying more attention to the page's visual presentation than to its underlying structure. </li></ul></ul>
    32. 32. Three Key Steps: Cont. <ul><li>Step Three: </li></ul><ul><ul><li>Evaluate the pages in your site with accessibility tools. Here are some tools that can help: </li></ul></ul><ul><ul><ul><li>ATRC Web Accessiblity Checker: </li></ul></ul></ul><ul><ul><ul><li>WAVE - This tool helps people perform design tasks that require human judgment. The Wave displays the ALT text of images and areas on the page for comparison with the images, provides numbered arrows to show the linearized reading order, and shows the HTML equivalent provided for applets. </li></ul></ul></ul>
    33. 33. Here are some tools that can help: <ul><li>W3C HTML Validator - Checks HTML documents for conformance to W3C HTML and XHTML recommendations and other HTML standards. It is important to use the HTML validator to create documents that validate to publish formal grammars. </li></ul><ul><ul><li>W3C CSS Validation Service - Checks Cascading Style Sheets for conformance to standards. </li></ul></ul><ul><ul><li>HTML TIDY - Tidy is a free lint utility to check and clean up badly formed HTML. It is useful as a first-pass for helping to fix bad HTML. </li></ul></ul>
    34. 34. How to be the user <ul><li>A graphical user interface (GUI) browser. These can be helpful for accessibility evaluation also. Examine your pages while adjusting the browser settings. </li></ul><ul><ul><li>Turn off images </li></ul></ul><ul><ul><li>Turn off the sound </li></ul></ul><ul><ul><li>Turn off scripting </li></ul></ul><ul><ul><li>Change the font size (larger and smaller) </li></ul></ul><ul><ul><li>Change the display color to black and white and observe whether color contrast is adequate. </li></ul></ul><ul><ul><li>Put away the mouse and tab through the links and form controls on a page. </li></ul></ul>
    35. 35. Priority list - Priority 1 <ul><li>Provide a text equivalent for every non-text element This includes: images, graphical representations of text image map regions, animations, applets and programmatic objects, ascii art, frames, scripts, images used as list bullets, spacers, graphical buttons, sounds, stand-alone audio files, audio tracks of video, and video. </li></ul><ul><li>Ensure that all information conveyed with color is also available without color, for example from context or markup. </li></ul><ul><li>Clearly identify changes in the natural language of a document's text and any text equivalents. </li></ul>
    36. 36. Priority list - Priority 1 - Cont. <ul><li>Organize documents so they may be read without style sheets. For example, when an HTML document is rendered without associated style sheets, it must still be possible to read the document. </li></ul><ul><li>Ensure that equivalents for dynamic content are updated when the dynamic content changes. </li></ul><ul><li>Until user agents allow users to control flickering, avoid causing the screen to flicker. </li></ul><ul><li>Use the clearest and simplest language appropriate for a site's content. </li></ul>
    37. 37. Priority list - Priority 1 - Cont. <ul><li>And if you use tables (Priority 1) </li></ul><ul><ul><li>For data tables, identify row and column headers. </li></ul></ul><ul><ul><li>For data tables that have two or more logical levels of row or column headers, use markup to associate data cells and header cells. </li></ul></ul>
    38. 38. Priority list - Priority 1 - Cont. <ul><li>And if you use frames (Priority 1) </li></ul><ul><ul><li>Title each frame to facilitate frame identification and navigation. </li></ul></ul><ul><li>And if you use applets and scripts (Priority 1) </li></ul><ul><ul><li>Ensure that pages are usable when scripts, applets, or other programmatic objects are turned off or not supported. If this is not possible, provide equivalent information on an alternative accessible page. </li></ul></ul>
    39. 39. Priority list - Priority 1 - Cont. <ul><li>And if you use multimedia (Priority 1) </li></ul><ul><ul><li>Until user agents can automatically read aloud the text equivalent of a visual track, provide an auditory description of the important information of the visual track of a multimedia presentation. </li></ul></ul><ul><ul><li>For any time-based multimedia presentation synchronize equivalent alternatives with the presentation. </li></ul></ul>
    40. 40. Priority list - Priority 1 - Cont. <ul><li>And if all else fails (Priority 1) </li></ul><ul><ul><li>If, after best efforts, you cannot create an accessible page, provide a link to an alternative page that uses W3C technologies, is accessible, has equivalent information, and is updated as often as the inaccessible page. </li></ul></ul>
    41. 41. Priority list - Priority 2 <ul><li>Ensure that foreground and background color combinations provide sufficient contrast when viewed by someone having color deficits or when viewed on a black and white screen. </li></ul><ul><li>When an appropriate markup language exists, use markup rather than images to convey information. </li></ul><ul><li>Create documents that validate to published formal grammars. </li></ul><ul><li>Use style sheets to control layout and presentation. </li></ul><ul><li>Use relative rather than absolute units in markup language attribute values and style sheet property values. </li></ul>
    42. 42. Priority list - Priority 2 - Cont. <ul><li>Use header elements to convey document structure and use them according to specification. </li></ul><ul><li>Mark up lists and list items properly. </li></ul><ul><li>Mark up quotations. Do not use quotation markup for formatting effects such as indentation. </li></ul><ul><li>Ensure that dynamic content is accessible or provide an alternative presentation or page. </li></ul><ul><li>Until user agents allow users to control blinking, avoid causing content to blink. </li></ul>
    43. 43. Priority list - Priority 2 - Cont. <ul><li>Until user agents provide the ability to stop the refresh, do not create periodically auto-refreshing pages. </li></ul><ul><li>Until user agents provide the ability to stop auto-redirect, do not use markup to redirect pages automatically. Instead, configure the server to perform redirects. </li></ul><ul><li>Until user agents allow users to turn off spawned windows, do not cause pop-ups or other windows to appear and do not change the current window without informing the user. </li></ul><ul><li>Use W3C technologies when they are available and appropriate for a task and use the latest versions when supported. </li></ul>
    44. 44. Priority list - Priority 2 - Cont. <ul><li>Avoid deprecated features of W3C technologies. </li></ul><ul><li>Divide large blocks of information into more manageable groups where natural and appropriate. </li></ul><ul><li>Clearly identify the target of each link. </li></ul><ul><li>Provide metadata to add semantic information to pages and sites. </li></ul><ul><li>Provide information about the general layout of a site. </li></ul><ul><li>Use navigation mechanisms in a consistent manner. </li></ul>
    45. 45. Priority list - Priority 2 - Cont. <ul><li>And if you use tables (Priority 2) </li></ul><ul><ul><li>Do not use tables for layout unless the table makes sense when linearized. </li></ul></ul><ul><ul><li>If a table is used for layout, do not use any structural markup for the purpose of visual formatting. </li></ul></ul><ul><li>And if you use frames (Priority 2) </li></ul><ul><ul><li>Describe the purpose of frames and how frames relate to each other if it is not obvious by frame titles alone. </li></ul></ul>
    46. 46. Priority list - Priority 2 - Cont. <ul><li>And if you use forms (Priority 2) </li></ul><ul><ul><li>Until user agents support explicit associations between labels and form controls. </li></ul></ul><ul><ul><ul><li>Associate labels explicitly with their controls. </li></ul></ul></ul><ul><li>And if you use applets and scripts (Priority 2) </li></ul><ul><ul><li>For scripts and applets, ensure that event handlers are input device-independent. </li></ul></ul><ul><ul><li>Until user agents allow users to freeze moving content, avoid movement in pages. </li></ul></ul>
    47. 47. Priority list - Priority 2 - Cont. <ul><ul><li>Make programmatic elements such as scripts and applets directly accessible or compatible with assistive technologies. </li></ul></ul><ul><li>Ensure that any element that has its own interface can be operated in a device-independent manner. </li></ul><ul><li>For scripts, specify logical event handlers rather than device-dependent event handlers. </li></ul>
    48. 48. Priority list - Priority 3 <ul><li>Specify the expansion of each abbreviation or acronym in a document where it first occurs. </li></ul><ul><li>Identify the primary natural language of a document. </li></ul><ul><li>Create a logical tab order through links, form controls, and objects. </li></ul><ul><li>Provide keyboard shortcuts to important links. </li></ul><ul><li>Until user agents render adjacent links distinctly, include non-link, printable characters between adjacent links. </li></ul>
    49. 49. Priority list - Priority 3 - Cont. <ul><li>Provide information so that users may receive documents according to their preferences. </li></ul><ul><li>Provide navigation bars to highlight and give access to the navigation mechanism. </li></ul><ul><li>Group related links, identify the group (for user agents), and, until user agents do so, provide a way to bypass the group. </li></ul><ul><li>If search functions are provided, enable different types of searches for different skill levels and preferences. </li></ul>
    50. 50. Priority list - Priority 3 - Cont. <ul><li>Place distinguishing information at the beginning of headings, paragraphs, lists, etc. </li></ul><ul><li>Provide information about document collections. </li></ul><ul><li>Provide a means to skip over multi-line ASCII art. </li></ul><ul><li>Supplement text with graphic or auditory presentations where they will facilitate comprehension of the page. </li></ul><ul><li>Create a style of presentation that is consistent across pages. </li></ul>
    51. 51. Priority list - Priority 3 - Cont. <ul><li>And if you use tables (Priority 3) </li></ul><ul><ul><li>Provide summaries for tables. </li></ul></ul><ul><ul><li>Provide abbreviations for header labels. </li></ul></ul><ul><ul><li>Until user agents render side-by-side text correctly, provide a linear text alternative for all tables that lay out text in parallel, word-wrapped columns. </li></ul></ul><ul><li>And if you use forms (Priority 3) </li></ul><ul><ul><li>Until user agents handle empty controls correctly, include default, place-holding characters in edit boxes and text areas. </li></ul></ul>
    52. 52. What Accessibility is not? <ul><li>Creation of separate versions of a page </li></ul><ul><ul><li>You will not need to create one page for your disabled users and another for your regular users. Everyone will utilize the same page. </li></ul></ul>
    53. 53. What Accessibility is not? <ul><li>Text-only pages </li></ul><ul><ul><li>Text only pages can be helpful for a particular user group but may actually hinder another. People with a learning disability may actually get over loaded with the mass of continuous text. Creation of text-only pages never carries the same information as the regular page. Graphics, typography, color scheme, and page design are also information. </li></ul></ul>
    54. 54. What Accessibility is not? <ul><li>Accessibility is Boring </li></ul><ul><ul><li>all too often, people assume that accessible means boring, quite to the contrary. This is usually due to the misconception that accessible websites have to be mostly text. Graphic elements are perfectly acceptable in accessible web design; in fact they are actually encouraged. Graphics actually enhance accessibility by providing visual; cues as to the meaning and organization of the content. These cues help people to understand the content better, thus increasing the accessibility of the content. </li></ul></ul>
    55. 55. Accessibility goals <ul><li>List goals </li></ul>
    56. 56. The process of how to make web pages accessible <ul><li>Think through the process </li></ul><ul><li>Understanding the process </li></ul><ul><li>Simplifying the process </li></ul><ul><li>Design </li></ul><ul><li>Develop </li></ul><ul><li>Deploy </li></ul>
    57. 57. Current state of web standards <ul><li>What are the current state of web standards for your site. </li></ul>
    58. 58. And finally … <ul><li>Any web developer with basic HTML and CSS design knowledge, and a bit of time on their hands, can easily learn and implement web accessibility — it’s not brain science after all. Web accessibility is all about following design standards and then adding in a few simple accessibility features. It’s not just about disabled users being able to access your website — it’s about everyone being able to access your website. </li></ul>
    59. 59. Questions?
    60. 60. THE END There is no end when the beginning is so near!