Successfully reported this slideshow.
Your SlideShare is downloading. ×

The Accessible Web


Check these out next

1 of 50 Ad

The Accessible Web

Download to read offline

Ensuring your site is usable by any user, anywhere in the world, on their device, with their network speed by focusing on uptime, speed and performance, critical content, accessibility, and usability.

Ensuring your site is usable by any user, anywhere in the world, on their device, with their network speed by focusing on uptime, speed and performance, critical content, accessibility, and usability.


More Related Content

Slideshows for you (20)

Similar to The Accessible Web (20)


Recently uploaded (20)


The Accessible Web

  1. 1. The Accessible Web Presented by FamilySearch
  2. 2. Steven Lambert Web Developer @ FamilySearch
  3. 3. What does it mean? Accessible: capable of being reached or used
  4. 4. Accessible Web: Usable by any user, anywhere in the world, on their device, with their network speed
  5. 5. Patty Toland - Design Consistency For The Responsive Web -
  6. 6. If a user goes to your website they get something back Uptime
  7. 7. Causes of downtime: • Scheduled maintenance • Server crash • DoS attack • Dependent service failed (AWS, Heroku, etc.) • JS error that prevents page load • JS error that prevents data the user needs from loading
  8. 8. Uptime is based on the users perspective
  9. 9. Industry standard: 99.9% (43.2 min/month or 8.76 hours/year)
  10. 10. Improve uptime: • use a CDN • reduce number of assets requested per page • load 3rd party scripts asynchronously • optimize assets • use expire headers on assets • set up monitoring • use a load balancer
  11. 11. Speed How fast your website returns usable content
  12. 12.
  13. 13. Perceived performance is more important than actual performance
  14. 14. How users perceive response times: • 100 milliseconds: feels instantaneous • 1 second: flow of thought begins to become interrupted • 10 seconds: begin to lose interest entirely • > 10 seconds: will abandon task and leave site
  15. 15. Perceived speed becomes more important for international users
  16. 16.
  17. 17.
  18. 18.
  19. 19. 85% of mobile users expect sites to load at least as fast or faster than on a desktop
  20. 20. 85% of mobile users expect sites to load in 5-10 seconds
  21. 21. Improve speed: • make as few requests as possible • use a CDN • optimize content • compress images • minify and concat static assets • compress web fonts • gzip content • use expire headers on assets • async assets that are not used above-the-fold (critical path)
  22. 22. Core Experience Core content and functionality for all users
  23. 23.
  24. 24. Core content: the fundamental reason for the webpage and the main reason the user comes to the site
  25. 25. Core functionality: functionality needed in order to use the core content
  26. 26. Core experience must be agnostic to device, platform, or browser and fault tolerant
  27. 27. Core experience must be rendered on the server
  28. 28. Use progressive enhancement to give a better experience
  29. 29. A caveat: Most JavaScript frameworks do not support core experiences
  30. 30. React.js does, and Ember.js is currently working on it
  31. 31. A11Y (Accessibility) Inclusion practices for removing barriers for users with disabilities
  32. 32. Types of disabilities: • sight (blind, color blind, low vision) • hearing (deaf, hearing loss) • motor (Parkinson's disease, unable to use arm, arthritis) • learning (Alzheimer's, ADHD, English as a second language)
  33. 33. A lot of these impairments can develop as you get older or even come and go with injuries
  34. 34. Unfortunately, it can be difficult to remove barriers that you haven’t experienced
  35. 35. Luckily, a little work can go a long way
  36. 36. Color blind: • don’t use color alone to convey meaning • use good color contrasts for text
  37. 37. Deaf: • provide text transcripts for audio clips • provide closed captioning for audio clips
  38. 38. Motor: • avoid mouse only interactions, use keyboard alternatives • make sure all core functionality is accessible via the keyboard • make sure tab order makes sense (especially when canceling actions)
  39. 39. Learning: • simplify layout as much as possible • keep tasks concise, using as few steps as needed • keep navigation and common interactions as consistent as possible • don’t use blinking or flashing text or adverts • organize information into manageable chunks
  40. 40. Blind: • ensure valid HTML with semantic headers • use landmark HTML5 elements (heading, nav, main, article) • provide alt text for images • avoid mouse only interactions, use keyboard alternatives • provide column and row headers on tables • don’t use anchor tags to just active JavaScript, use buttons • ensure text in anchor tags make sense out of context • learn when and how to use aria attributes
  41. 41. Additional information:
  42. 42. Usability Quality attribute that defines ease-of-use
  43. 43. Users will leave your site if they get lost, frustrated, confused, or can’t find what they want
  44. 44. 5 E’s of usability: • Efficient – speed of task completion • Effective – user goal is met successfully • Engaging – pleasant and satisfying to use • Error tolerant – tolerant to user errors, provides feedback • Easy to learn – good onboarding, low barrier to entry
  45. 45. Not all five categories need to apply to every task
  46. 46. Improve usability: • reduce number of steps needed to complete tasks • identify user goals and ensure they can be met • reduce feature bloat and UI clutter • increase user exposure hours
  47. 47. Questions?

Editor's Notes

  • the term "web accessibility" is overloaded and can carry a negative connotation, mostly is used to refer making websites accessible to users with disabilities

    however, the term “accessible” means so much more than that
  • Accessibility is user centric. Most of my presentation will be from the point of view of the user.
  • Abraham Maslow's hierarchy of needs
    basic needs at the bottom
    upper levels transcend and include the lower levels
    highest achievements are possible only with a stable foundation
  • Accessible Web hierarchy of needs
  • if a user cannot get to your site, it is inaccessible to them.

    Opposite of uptime is downtime. What does downtime look like?
  • A blank screen
  • Important to understand that uptime is based on the users perspective. If your servers are all running fine but your site loads too slow or breaks due to a JS error, the site is down to the user
  • This is what users expects
  • [relate story of my website being DoS attacked with my audio assets]
    less assets = less points of failure
    don’t let 3rd party scripts kill your site [relate adobe analytics problems]
  • Usable content is an important distinction. Usable content can be interacted with by the user to perform tasks
  • Luke Wroblewski (row-blue-ski), an internationally recognized digital product leader, told a story of when he worked on the polling app Polar. His team worked to improve the speed of the page so it loaded quicker. Since they loaded polls asynchronously, they also added a spinner to indicate that polls were being loaded.

    Shortly after their improvements, users starting giving feedback that the polls felt slower than before, even though the site was in fact much faster. This is because the addition of the spinner made people notice the waiting instead of overlooking it.
  • Again, it’s all based on the user’s perspective.

    So how do users percieve time?
  • in 1993 Jakob Nielsen published his book “Usability Engineering” wherein he documented how users perceived time. This was back in 1993, the 10 second limit could easily have dropped to 5 seconds in 2015.

    Remember uptime? A site is considered down it it is too slow to load. 5-10 seconds = too slow to load
  • In some parts of the world, mobile phones are the only way to access the internet
  • However, mobile web traffic is slowly becoming the preferred way to browse the internet even when desktop computers are available
  • Mobile speeds are slower than desktop speeds. Mobile (aka 3G) is typically 3-4x slower than desktop (4G). A 2 second page load is between 7-8 seconds on mobile.

    LTE = 4G, HSPA = 3G, EDGE = 2G
  • What does this translate to in terms of perceived performance?
  • less requests = less round trip time (slowest part)
    CDN puts assets closer to the users (less time to travel over the wire)
    optimized content = less bytes transferred
    critical path – want the usable part of your website available as fast as possible
  • No good reason to make your content inaccessible to users by preventing them from seeing it
  • Example:
    Core content of a news site is to allow users to read the news
    Core content of a games site is to allow users to play games

    Notice that both of these examples focus of the user’s goals and not the sites goals
  • Example:
    Ability to submit a poll in a polling app
  • Any user on any device or browser should be able to access your core experience
    A bug in you JavaScript code won’t cause a blank screen to appear
  • If a user comes to your site using an old Nokia phone (which are popular in Africa), you should still be able to serve them content
  • Progressive enhancement means to add functionality and content based on feature detection. Better featured browsers get a better experience while low featured browsers just get the core experience. Doing this helps you to support any device, but still have a browser specific feature set. This is know as “Cutting the Mustard”
  • JavaScript frameworks depend on JavaScript, and not only that, a certain capability in JavaScript that not all users may have on their device. They require a bare minimum of JavaScript functionality and browser support. Most recent angular does not support IE9 for example

    Need to render the page first o the server, then hand off the html and the state to the client. Once the client gets the core experience, can load the JavaScript framework and create a more responsive app. It’s a difficult problem to solve
  • Meaning some day you will be affected by some sort of impairment that will make the web harder for you to use
  • Example, unless you have done an in-depth study and analysis of how to remove barriers for blind users, it can be hard to understand how to solve problems they run into (or even be aware of them)

    I have been studying Accessibility techniques for many years, and I still don’t know how to solve some problems
  • Just doing basic things can help all users
  • Notice that the red and the green colors look the same to a red-green color blind users. This means that stop light colors (red, yellow, green) would be lost on this user and they wouldn’t be able to distinguish between an error and a success.
  • Notice that the red and the green colors look the same to a red-green color blind users. This means that stop light colors (red, yellow, green) would be lost on this user and they wouldn’t be able to distinguish between an error and a success.
  • How many of you are familiar with this software? Is it usable? What makes it unusable?
  • It’s important to identify which usability metrics are important for your program.

    For example, Photoshop is not easy to learn because of how powerful it is, but it is highly efficient and effective at what it does.
  • user exposure means having your entire team (project managers, designers, developers, and qa) going out and watching users use the product