On Github hmig / inclusive
Hi.
My name is Heather Migliorisi and I am the former Senior UI Developer for GiftCards.com.
I've been working on making our site accessible for the last year and a half.
We have a ways to go, but one release after next, we are getting there.
So, what do I mean when I say accessibility?
Accessibility means a digital world for everyone, regardless of where, when, why, and how you consume the content that is being communicated. It’s communication that’s non-discriminatory in every way. -from simplyaccessible.com
I like the definition provided by Simply Accessible that was the result of a survey they did asking folks what accessibility meant to them.
The definition that came out of that was:
Accessibility means a digital world for everyone,
regardless of where, when, why, and how the content that is being communicated is consumed.
It’s communication that’s non-discriminatory in every way.
Accessibility means a digital world for everyone.
Simply put:
It means a digital world for everyone, regardless.
Census Data Concludes: Nearly 1 in 5 People Have a Disability in the U.S.
According to Census Data: Nearly 1 in 5 People Have a Disability in the U.S.
Opening your business up to 20% more of the population doesn't mean you'll make 20% more, but at least you won't be preventing it
Think about how low of a usage % before you are able to stop supporting a browser version ... such as IE8.
Also - Businesses must comply with Section 508 when supplying Electronic and Information Technology goods and services to the federal government.
Title III of the ADA requires that public and private establishments provide reasonable accommodations to the disabled and the DOJ has stated that law applies online as well..
So - You can save money by preventing loss due to legal fees, settlement costs, and harm to brand
Because it's the right thing to do
How many people do you see using ramps and elevators that are not disabled?
All of these folks are able to benefit from the considerations taken for people labeled with having disabilities.
I stumbled upon some some tweets by Una Kravets about using a screen reader.
And this one is a reminder that anyone could be using one.
You can retain information better if you read and hear it at the same time.
So - reading the transcript of a podcast while you listen to it
OR listening to the screen reader while you read an article
... doing can help you learn and retain the information
Frankly, some people just prefer one over the other.
By using proper markup and the latest standards, the content becomes more flexible and easier to use tools to extract and present the information to users in different modalities (gym equipment, refrigerator, ...).
Disability Classifications or Buckets
The first classification is vision
Achromatopsia
Deuteranopia
Protanopia
Tritanopia
There are 4 types of visual classifications, the first is color blindness or difficulty distinguishing between colors.
WEB content that simply relies on color to convey meaning may cause certain users to be lost
such as Alerts or error messages, so it's best to add icons or special styling with those
CanIUse.com offers Setting to make colors accessible
on the left, it's normal AND on the right are the accessible colors
The next type of visual classification is Low Vision
So - the majority of visually impaired are not completely blind...but have some sort vision impairment.
such as: blurry, cloudy, center field loss or, the opposite, tunnel vision
You can expect these users to zoom in on the page, so RWD can really help here.
The next type of visual classification is blindness.
!!!!!show video of blind man using iphone
The next classification is hearing
providing closed captioning and transcripts are very important for people with hearing loss
It can also benefit people who prefer to read content vs listen to it
Or someone who is in a crowded area without headphones.
Providing closed captioning and transcripts also help with SEO because it provides bots with searchable info that would otherwise be lost.
The next classification is Motor Disabilities
Motor Disabilities can be the result of either:
Traumatic Injuries which include things like
OR Diseases and Congenital Conditions such as:
The picture is of a child using a mouth stick.
Here's a video via YouTube of someone using one. -------- play video ----------
There are a lot of different types of Assistive Technologies to aid people with motor disabilities
Pictured are some handmade ones found via etsy
Others types include:
NOTE - Regardless, most assistive technologies either work through the keyboard or emulate the keyboard.
BUT - Keep in Mind - These folks have limited mobility ... Don't autoplay things page ... but if you do, provide controls to allow users to stop the elements.
Cognitive Disabilities Include (but are not limited to):
Things to consider for the web:
When it comes to content and features: KISS - Keep It Short and Simple
Clean designs
Easy to comprehend content
Avoid:
-content overload
-blinking animations (can induce seizures)
-things like carousels (that autoplay and cannot be stopped ARE the worst ... for everyone) and parallax can literally make people sick
Just because you don't fall into one of these classification today, doesn't mean you can't or won't in the future.
Temporary disabilities, like a broken arm.
---NEXT SLIDE---
OR getting older
---NEXT SLIDE---
Trying to use a computer in a loud or bright area
---NEXT SLIDE---
From the time we wake up until we go to bed.
We are on one device or another.
Socializing, emailing, working, repeat.
Even from a young age.
But - what if you couldn't access the internet today? Can you imagine being the only one not able to access it ... without help from someone else?
You go to buy the latest/greatest tech gadget, but a blank page is all that loads.
What if you tried going to your favorite site for your favorite online activity....
Annnd, you got a blank screen?
...the page is freaking out and filled unrecognizable errors
Or a ton of unrecognizable error messages...
that you couldn't close.
What if ... every site you went to was like this?
What if ... you could no longer use the internet you helped develop?
What if you had to ask someone to click buttons for you....?
At what point, do you give up?
Sadly, this is what much of the web is like for people with disabilities.
Why .... in this day and age
are so many users getting broken pages?
The Internet We Have Today Is Broken
But, since HTML2, the it was accessible by default
html2 (1995) had text, links, images with alt text and simple forms
This is Yahoo from 1996. It is completely accessible.
So - 1995 - completely accessible internet
Awesome tweet from Scott Jehl:
Accessibility is not something we add to a website, but something we start with and risk losing with each enhancement. It is to be retained.
Looks lovely, but is not very accessible.
Here's yahoo today ... Yikes... I'm not picking on Yahoo, I wanted a site that I could compare with back in 1995-ish era
Today, We're
The web we have today ... accessibility is seen as a feature.
Accessibility is NOT a feature, it's part of the foundation.
If your site does not have a solid foundation, it's in trouble.
---read list---
It's really uncomfortable when you launch a new site and list all of the awesome features it has...
Only to be told that it is completely inaccessible.
Or even worse... sued for it being inaccessible.
Don't let that be you.
changing our mindset
we did it before with rwd and mobile first
We can do it again! Accessible Web Design (AWD) OR Accessibility First
Let's ensure that people with disabilities can easily access the web.
Ramp up the stairs
The four main guiding principles of accessibility are:
Perceivable - provide content alternatives (images, audio, video)
Operable (without a mouse)
Understandable - clear and simple (writing and functionality)
Robust - works across many devices
ARIA - Accessible Rich Internet Applications -
This standard allows developers to set roles, states and properties on html elements making them more accessible to people using assistive technology
If you can use a native HTML element or attribute, do it. - straight from the w3c
❮button role="button"❯ button text ❮/button❯
❮input type="text" required aria-required="true"❯
❮div hidden aria-hidden="true"❯
❮h1 role="heading" aria-level="1"❯heading text❮/h1❯
What this means is that, where implemented, the browser will expose the default implicit semantics of the element so you don’t have to.
❮header❯ maps to role="banner"
❮nav❯ maps to role="navigation"
❮main❯ maps to role="main"
❮section❯ maps to role="region"
❮article❯ maps to role="article"
❮aside❯ maps to role="complementary"
❮footer❯ maps to role="contentinfo"
BUT IE and Safari do not offer support for all of the role mappings. -Deque University
❮header role="banner"❯
❮nav role="navigation" ❯
❮main role="main" ❯
❮footer role="contentinfo" ❯
Read List
Now that we understand ARIA, let's start auditing!
Now that we know what ARIA is ... let's start auditing!
First things, first. Make the site robot readable. Screen readers are bots ...
We test using the w3c validator.
this one step will catch a multitude of sins
Warnings vs Errors
Errors - required to fix to validate
Warnings - are more of you may or may not need to fix -> more of a recommendation
When you validate your site via W3C, you'll catch embarrassing errors like unsemantic html
Products
button
Do NOT remove the default :focus { outline: none; outline: 0; }! Update the css if you do not like how it looks, but do not remove it! It is imperative for ppl that nav via keyboard to see what the focus is on.
DO NOT add a tabIndex that is greater than 0.
Add a skip nav (and make sure it works!) -- add tabindex=-1 to elements you want to be focusable, but not in the normal tab order
Add a skip nav (and make sure it works!) -- add tabindex=-1 to elements you want to be focusable, but not in the normal tab order
Add other skips or simply set a negative tabindex for elements that are redundant
use aXe plugin and chrome accessibility tools
Use the nocoffee plugin to test the blur and other filters
Bad: Error Messaging Relies on Color
Better: Message Conveyed With Icons
Using the Chrome Plugin, NoCoffee, you can easily change settings to see the page in different hues.
Using the Chrome Plugin, Alt text viewer, with a single click, you can see what screen readers will hear.
Be careful when choosing houseplants if you have pets. They may be poisonous to the animal.
When appropriate, you can use newish html5 elements figure and figcaption.
HTML
CSS
//hiding text elements from the view, but keeping them available to the screen reader .sr-only { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); clip-path: polygon(0px 0px, 0px 0px, 0px 0px, 0px 0px); //for clip being deprecated }
Icon fonts - overridden by open dyslexic
Green rectangleA light green rectangle with rounded corners and a dark green border.WebsiteExample from: Tips for Creating Accessible SVG by Leonie Watson
text inside of a canvas element with paragraph tag
text inside of a canvas elementtext inside of a canvas element
text inside of a canvas element with paragraph tag
When using canvas you must provide content that conveys the same function/purpose as the bitmap canvas.
It can be as simple as providing text in the canvas. The text is not visually seen, but is read via the screen reader.
Use the hemingway app to test the site's written content
Moving content can also be a annoying and distracting for some people.
For people with ADD, it makes it difficult for them to concentrate on other parts of the Web page.
But - for others it can trigger dizziness, nausea, migraines AND even seizures (epilepsy)
If you want to use these types of features, provide a way for users to turn them off easily.
Email AddressDon't forget to label things that have hidden labels (search box). Use .sr-only class that is used for the icon fonts.
Search for Gift CardsPut the label/input group in a li tag and put all of these groupings in a list. Check out: Falling in Love With Forms by Aaron Gustafson
-------at the end------
errors in labels and hide them until needed
---play video-----
------Next slide--------
Some companies are even providing developers with Accessibility Labs - Yahoo, Comcast, Facebook & Google
So - developers can try out the devices and methods and figure out how to create better experiences.
------Next slide--------
BUT - you can never replace seeing the real user experience.
It's always eye-opening to conduct user testing.
You never think somethings really "that bad" ... pause ...
Until you realize someone has to have someone else to click a button for them because they cannot access it.
You will see a different internet.
Think of it this way: you wouldn’t want a designer or developer to do usability testing by testing the design or code on themselves. ... They’re already familiar with what problems the design is supposed to be solving, and how the interface works. - Jeremy Keith
Make note of pages you audit:
Document best practices and provide:
Document best practices and provide:
Use the nocoffee plugin to test the blur and other filters