Professional Documents
Culture Documents
• Charts NVDA
& Graphs 64.9
VoiceOver 36.9
Narrator 21.4%
https://webaim.org/projects/screenreadersurvey7/
Images - Summary
Important images - Alt with appropriate text
Non-important images - Alt with empty alt text
Complex Images – Alt + additional information Via
longdesc
Tabular format
aria-describedby if the content is elsewhere.
Testing Images
Check alt attribute – Automation tool
Content Inspection – Manual check
BG Images – Disable stylesheets
<view > Page Styles> No style
Live Examples
Improper Alternate text – Image 1
http://www.business-standard.com/company/hdfc-bank-4987/news
Spacer image –
http://www.usclub.co.in/noticeboard.aspx
CAPTCHA –
http://www.futuregroup.in/get-in-touch/customer-feedback.aspx
Other examples
Example 1:Background Images with important information
Text on image 10.99% PA
The text after the bg image is as follows.
Where else would you find a better interest rate?
Example 2: An image button has play / pause functionality.
But the alternate text does not change dynamically.
Example 3: Colours on bar charts but the information is not completely conveyed.
• A bar chart of sales data is provided as an image. The chart includes yearly sales figures for four
employees in the Sales Department. The text alternative for the image says, "The following bar
chart displays the yearly sales figures for the Sales Department. Mary sold 3.1 Million; Fred, 2.6
Million; Bob, 2.2 Million; and Andrew, 3.4 Million.
Say there are two colours Red and Green. Sales below 3 M are red as they have not met the annual
target. The same information is not conveyed through this alternate text.
Exceptions
• Decorative/ formatting/ Invisible
• Images to provide some sensory experience
• Online test
• CAPTCHA
Guideline 1.2 Time-based Media
Provide alternatives for time-based media.
SC 1.2.1 Audio-only and Video-only (Pre
recorded) Level A
For prerecorded audio-only and prerecorded video-only media, the
following are true, except when the audio or video is a media
alternative for text and is clearly labeled as such:
• Prerecorded Audio-only:
An alternative for time-based media is provided that presents
equivalent information for prerecorded audio-only content.
• Prerecorded Video-only:
Either an alternative for time-based media or an audio track is provided
that presents equivalent information for prerecorded video-only
content.
Examples
• Video that has a file name as the alternate text (video_game.jpeg)
• The long description / text transcript does not provide sufficient
information conveyed through the multi-media content.
• Missing audio track / narration for the important visual content of the
multimedia content.
SC 1.2.2 Captions (prerecorded) Level A
Captions are provided for all prerecorded audio content in
synchronized media, except when the media is a media alternative for
text and is clearly labeled as such.
Types of captions
Captions are sometimes called as subtitles
a. Closed Captions
Users can switch off them,
Rendered separate from the video
Will have more user control, some operating systems allow to change the
fontsize, color, background etc.
2. Open captions
Embeded into the video track.
Cannot be switched off by the user.
Captions must have
• Spoken information in the video
• Important sounds Eg: applause
• Name of the character if the video contain multiple speakers
Example with captions
• Hit the play button if the video does not play automatically.
• Toggle the subtitles / captions button ON.
https://www.youtube.com/watch?v=qbUcv3Bc61g
SC 1.2.3 Audio Description or Media
Alternative (Prerecorded) Level A
An alternative for time-based media or audio description of the
prerecorded video content is provided for synchronized media, except
when the media is a media alternative for text and is clearly labeled as
such.
Audio Description / Media alternative
• Audio description provides the content to blind / visual impaired
users about the visual content such as expressions of the speaker,
actions, characters, seen changes etc
• Alternate media includes all the information displayed including the
dialogs of the characters in the sequence in which they are in the
multimedia content.
• In SC 1.2.3 author has a choice to pick either audio description or
media alternative
SC 1.2.4 Captions (Live) Level AA
Captions are provided for all live audio content in synchronized media.
Live Caption information
• IBM Whatson : https://support.video.ibm.com/hc/en-
us/articles/207851907-Live-Closed-Captions
• Captions for skype calls:
https://support.skype.com/en/faq/FA34877/how-do-i-turn-live-
captions-subtitles-on-during-a-skype-call
SC 1.2.5 Audio Description (Prerecorded)
Level AA
Audio description is provided for all prerecorded video content in
synchronized media.
Guideline 1.3 Adaptable
Create content that can be presented in different ways (for example simpler
layout) without losing information or structure.
SC 1.3.1 Info and Relationships Level A
Information, structure, and relationships conveyed through
presentation can be programmatically determined or are available in
text.
Tables
• Layout Tables
• Simple tables
• Complex tables / nested tables
Tables – Layout Tables
• Avoid using layout tables
Live Example –
http://www.usclub.co.in/noticeboard.aspx
• Find layout tables using Paul Adam Bookmarklet
Tables – Simple Tables
• Tables with data in it.
• Equal number of rows and columns
• Columns or rows or both related with the data cells.
Example:
https://www.maxability.co.in/screen-readers/
Tables – complex tables
• Cells spanned across,
• Data cell having multiple headings.
Example:
https://www.w3.org/WAI/tutorials/tables/irregular/
Tables - Summary
• <th> for header cells.
• Scope attribute i.e. scope=“col” or scope=“row” for simple tables
• Headers and id attributes for complex tables.
• <caption> element xzk zxJ for table headers
• Summary attribute additional information only for screen readers.
Do It yourself – Tables Exercise
• Tables – Do it yourself
https://teachaccess.github.io/tutorial/#/9
Label & Form relationship
• The visually available label should be programmatically related with it’s
form control.
• The label and form relation either can be explisit i.e. using “for” and “id” attributes.
• If the “id” is generated via script and the explisit labelling is not possible , the relation
can be implisit. i.e wrap the input element within the label element.
• The label and form control must be in a close proximity.
• Instructions (if available) should be programmatically related to its
controls.
Example:
Missing association
http://www.continentalhospitals.com/enquiry.php
Grouping similar elements
Gender
Radio button Male
Radio button Female
Example:
Improper use of lists
http://www.usclub.co.in/noticeboard.aspx
Lists – Do It yourself - Exercise
Just after the heading mention the following steps – Decide which list
type appropriate.
Step 1: Yur personal details
Step 2: Education details
Step 3: Employment details
Step 4: Review & Submit
Step 5: Confirmation
Other markup
• Use semantic elements instead of CSS tricks.
Eg: <q>, <blockquote> etc
Use alternates when the semantic elements do not convey the visual
content.
Eg: strike-off content for discounted prices.
Check if <s> etc are supported by SRs.
SC 1.3.2 Meaningful Sequence Level A
When the sequence in which content is presented affects its meaning,
a correct reading sequence can be programmatically determined.
More information on meaningful sequence
• Also called as reading order
• Specifically problematic for SR users
• Majorly due to use of layout tables and white space characters for layout.
• Applies only to the content that required sequence.
In HTML,
Tables, ordered lists etc require sequence but unordered list does not require.
The links in the navigation does not required a sequence.
The sections of the page header, main content region and footer does not require sequence as they are independent.
Aside content within an article does not require sequence
Eg: Times New Roman, Georgia, and Book Antiqua. – Serif family
Arial, Tahoma, Trebuchet MS, Verdana – Sans-Serif
Font accessibility – other considerations –
part 3 of 3
• Avoid all capitalization unless necessary.
• use elements that have semantic meaning
Eg: use <strong> instead of <b>
<b> is for fat fonts – use font-weight. So <b> is not a good idea.
<strong> is for emphasizing.
Use <em> instead of <i> to emphasise the content.
If required use font-style=“italic” instead of <i>
Alls styles should come from CSS.
Separate styles from markup
Sample CSS :
body
{
font-family: Helvetica, Arial, sans-serif;
Font-size: 1.2 em;
}
h1
{
font-family: Georgia, Times, "Times New Roman", serif;
Font-size: 2.4 em;
}
Viewport and scaling for accessibility
In the <meta name="viewport">
• Do not use user-scalable="no"
• maximum- should not be < 2
Testing resize text
• Control + + 6 times
• Check for no loss of content
• Check for no loss of functionality
Note: Control + 0 brings normal size of browser
SC 1.4.5 Images of Text Level AA
If the technologies being used can achieve the visual presentation, text is
used to convey information rather than images of text except for the
following:
• Customizable:
The image of text can be visually customized to the user's requirements;
• Essential:
A particular presentation of text is essential to the information being
conveyed.
NOTE
Logotypes (text that is part of a logo or brand name) are considered
essential.
How to fix
• Avoid text embedded in the images unless absolutely necessary.
• Try using CSS to get the visual effect and markup for the content
• For simple content Alternate text should help.
Principal 2: Operable
User interface components and navigation must be operable.
Guideline 2.1 Keyboard
Accessible
Make all functionality available from a keyboard.
SC 2.1.1 Keyboard Level A
All functionality of the content is operable through a keyboard interface
without requiring specific timings for individual keystrokes, except where the
underlying function requires input that depends on the path of the user's
movement and not just the endpoints.
NOTE
This exception relates to the underlying function, not the input technique.
For example, if using handwriting to enter text, the input technique
(handwriting) requires path-dependent input but the underlying function
(text input) does not.
NOTE
This does not forbid and should not discourage providing mouse input or
other input methods in addition to keyboard operation.
Live example
• top navigation links eg: solutions, products etc are not keyboard
accessible.
https://www.alarm.com/
Some solutions
• Option 1: Explisit labeling
<label for="email">Email Id</label>
<input type="text" id="email" placeholder="Type your email address" />
• Option 2: Implisit labeling
<label>Email Id
<input type="text" placeholder="Type your email address" />
</label>
• Option 3: Using ARIA
<span id="email_id">Email Id</span>
• <input type="text" id=”email” aria-labelledby="email_id" placeholder="Type your email
address" />
SC 2.1.2 No Keyboard Trap
If keyboard focus can be moved to a component of the page using a
keyboard interface, then focus can be moved away from that
component using only a keyboard interface, and, if it requires more
than unmodified arrow or tab keys or other standard exit methods, the
user is advised of the method for moving focus away.
NOTE
Since any content that does not meet this success criterion can
interfere with a user's ability to use the whole page, all content on the
Web page (whether it is used to meet other success criteria or not)
must meet this success criterion.
Live Example
• Modal example to show keyboard trap.
(this is a good example but the concept is the same)
https://www.w3.org/TR/wai-aria-practices/examples/dialog-
modal/dialog.html
Guideline 2.2 Enough Time
Provide users enough time to read and use content.
SC 2.2.1 Timing Adjustable Level A
For each time limit that is set by the content, at least one of the following is
true:
• Turn off: The user is allowed to turn off the time limit before encountering
it; or
• Adjust: The user is allowed to adjust the time limit before encountering it
over a wide range that is at least ten times the length of the default setting;
or
• Extend: The user is warned before time expires and given at least 20
seconds to extend the time limit with a simple action (for example, "press
the space bar"), and the user is allowed to extend the time limit at least ten
times; or
Exceptions
• Real-time Exception: The time limit is a required part of a real-time
event (for example, an auction), and no alternative to the time limit is
possible; or
• Essential Exception: The time limit is essential and extending it would
invalidate the activity; or
• 20 Hour Exception: The time limit is longer than 20 hours.
SC 2.2.2 Pause, Stop, Hide
For moving, blinking, scrolling, or auto-updating information, all of the
following are true:
• • Moving, blinking, scrolling:
• For any moving, blinking or scrolling information that (1) starts
automatically, (2) lasts more than five seconds, and (3) is presented in
parallel with other content, there is a mechanism for the user to pause,
stop, or hide it unless the movement, blinking, or scrolling is part of an
activity where it is essential; and
• • Auto-updating:
• For any auto-updating information that (1) starts automatically and (2) is
presented in parallel with other content, there is a mechanism for the user
to pause, stop, or hide it or to control the frequency of the update unless
the auto-updating is part of an activity where it is essential.
Example of carousal
• Shopclues website
https://www.shopclues.com/
Guideline 2.3 Seizures and
Physical Reactions
Do not design content in a way that is known to cause seizures or physical
reactions.
SC 2.3.1 Three Flashes or Below Threshold
• Web pages do not contain anything that flashes more than three
times in any one second period, or the flash is below the general flash
and red flash thresholds.
Guideline 2.4 Navigable
Provide ways to help users navigate, find content, and determine where they are.
SC 2.4.1 Bypass Blocks
A mechanism is available to bypass blocks of content that are repeated
on multiple Web pages.
Methods for Bypass
• heading structure
• Landmarks
• Skip link
• Expand / collapse menu
What are landmarks?
• landmarks are the regions of HTML5 ARIA
Color- black
Link: underline
Color: White
Background : black
Remove underline.
Before focus:
a{
color: black;
background-color: white;
text-decoration: underline
On focus, on hover
a:focus, a:hover {
color: white;
background-color: black;
text-decoration: none
}
Principal 3: Understandable
Information and the operation of user interface must be understandable.
Guideline 3.1 Readable
Make text content readable and understandable.
SC 3.1.1 Language of Page Level A
The default human language of each Web page can be
programmatically determined.
SC 3.1.2 Language of parts Level AA
The human language of each passage or phrase in the content can be
programmatically determined
Exceptions
• proper names,
• technical terms,
• words of indeterminate language, and
• words or phrases that have become part of the vernacular of the
immediately surrounding text.
Providing Language
• lang attribute with valid • <html lang=“en”> for the entire
language code page.
• Different language codes from • <p lang=“hi”>content in Hindi
W3C here</p>
Guideline 3.2 Predictable
Make Web pages appear and operate in predictable ways.
SC 3.2.1 On Focus Level A
• When any user interface component receives focus, it does not
initiate a change of context.
Example on focus
• Use activate instead of focus.
www.alarm.com
3.2.2 On input Level A
• Changing the setting of any user interface component does not
automatically cause a change of context unless the user has been
advised of the behavior before using the component.
Example onChange
• UIDAI (AADHAR website)
https://uidai.gov.in/
Example 1
1. Change a value in the list box and a new modal window displays.
2. A phone number with 3 fields i.e. country code, area code and phone number that are moved
to different fields without intimation to the user.