Walking Down the A11y Road - Lessons Learned from Working on Accessibility of a Django Project

Preview:

Citation preview

Walking Down the A11y RoadLessons Learned from Working on

Accessibility of a Django Project

Radina Maticradina@learningequality.org

@RadinaMatic

Radina Matic- translator & technical writer - open software & technology enthusiast

Web and Data Visualization at Rectory Stats Office, University of Barcelona

Foundation for Learning Equality

radina.matic@ub.eduradina@learningequality.org@RadinaMatic

Why do we care?

Who benefits?World Health Organization fact sheet from 2014

Disabled people in the world(1000 millions)

People living in Europe(742 millions)

Who benefits?EU-Statistics on Income and Living Conditions from 2014

Millions!

People with disabilites?

EVERYBODY

Good for Business

- Benefits SEO

- Improves mobile access and overall usability

- Increases market share

- PR impact derived from corporate social

responsibility

- Reduces legal risk

Don’t put up fires

Plan accessibility as early as possible, don’t wait for QA

Standards & Laws

- US - Section 508 (1998) & ADA- 21st Century &

Video Accessibility Act (2010)

- European Standard on accessibility requirements for public procurement of ICT products and services (EN 301 549 - 2014)

- Web Content Accessibility Guidelines(WCAG) 2.0 as ISO/IEC 40500 (2012)

Accessibility mishaps make headlines (and courtrooms)

- National Federation of the Blind v. TARGET (2008)

- National Association of the Deaf (NAD) v. Netflix (2012)

- Google Books (2012)

- Harvard & MIT (edX) MOOCs (2015)

http://www.karlgroves.com/2011/11/15/list-of-web-accessibility-related-litigation-and-settlements/ (~230 cases up to 2015)

OFFER ALTERNATIVES

DISCOVERABILITY

FEEDBACK&

It's not you. Bad doors are everywhere https://www.youtube.com/watch?v=yY96hTb8WgIDon Norman about “Norman Doors”

Document Structure• Page language

Document Structure

• Title(unique anddescriptive; H1)

• Page landmarks(semantic HTML5or ARIA)

Headings

Keyboard navigation

- Tab & Shift Tab through all the links

- Arrow keys through menus

- Skip-to links on top (first element after <body>)

Define visible focus state!:focus {

outline: 0;

}

Keyboard navigation

Keyboard navigation

Images - The elusive ALT attribute

- alt=“?????”

- DESCRIBE the image convey both content and functionality

- Do not put text inside images (localization)

- Decorative images – empty alt=“”

Links and FormsLinks- Concise- Descriptive

ClickMoreHere

Forms-Labels-Fieldsets for grouping-Tabbing order

Color & Contrast

foreground vs. background3:1 for large text4.5:1 for smaller text

{% if settings.DEBUG %}

<script type="text/javascript" src="{% static 'js/tota11y.min.js' %}"></script>

{% endif %}

Color & Contrast

OFFER ALTERNATIVESColor & Contrast

OFFER ALTERNATIVESAccessible Multimedia Players

Able Video Player - http://www.washington.edu/doit/videos/

OFFER ALTERNATIVESDon’t Autoplay!

http://devtoolschallenger.com/

OFFER ALTERNATIVESLet it play!

Screenreader-only output

Screenreader-only outputHeading level two clickable link

What is addition? What is

subtraction?

two

two hundred percent

Heading level two clickable link

Converting between fractions and

decimals

ten forty percent sixty percent

three hundred percent

Screenreader-only output<div class="sr-only">{{_ "In this topic " }}</div> <div class="progress-indicator {{vid_status}}">

<span class="sr-only">{{_ "there are " }}</span><div class="sidebar-icon">

<span class="progress-indicator content-counter">

<div class="sr-only">{{#unless n_pl_videos}}no{{/unless}}</div>{{#if n_pl_videos}}{{n_pl_videos}}{{/if}}

</span>

</div>

<span class="sr-only">{{_ " videos." }}</span> </div>

{{#ifcond vid_pct_started "<" 100}}

<span class="sr-only">{{_ "You are still working on " }}</span><span aria-hidden="true" role="presentation">{{ >{{vid_pct_started}}%</span>

{{/ifcond}}

{{#ifcond vid_pct_started "===" 100}}

<span class="sr-only">{{_ "You are still working on all of them." }}</span> <span aria-hidden="true" role="presentation">{{vid_pct_started}}%</span>

{{/ifcond}}

Screenreader-only outputHeading level two clickable link What is addition? What is subtraction? In this topic there are two videos. You haven't started to watch videos! There are two exercises. You are still working on all of them.

Heading level two clickable link Converting between fractions and decimals In this topic there are ten videos. Of those you have completed forty percent. You are still working on sixty percent. There are three exercises. You are still working on all of them.

A11y from the start

A11y from the start

- Include a11y requirements into the Usability Style Guide

- Leverage the standard HTML5 semantic elements

- Take a11y into account when choosing the libraries and frameworks

- Make accessible web components available from the beginning

- Start including automated a11y tests as soon as possible

<a v-link="link">

<content-icon v-if="kind" :kind="kind" :progress="progress">

</content-icon>

<img :src="validatedThumbnail" class="thumbnail" v-if="showThumbnail" alt="">

<div class="thumbnail" v-else>&nbsp;</div>

<h3><span class="visuallyhidden">{{ progress }} {{ kind }} </span>{{ title }}

</h3>

</a>

<template>

<img :src="src" :alt="altText"> </template>

<script>

module.exports = {

props: {

computed: {

altText() {

// TODO - I18Nreturn `${this.progress} - ${this.kind}`;

},

},

};

</script>

/content-icon/index.vue

How did we get here?

A11Y Pills & Passion

@LearnEQ Accessibility Pills

A11y Tools Repository

Accessibility is a shared responsibility

http://www.w3.org/community/wai-engage/wiki/Accessibility_Responsibility_Breakdown

Put A11Y in your dev team life• A11y Pills & lots of passion

• Make accessibility a SHARED responsibility

• Start a Tools Repository

• Don't rely exclusively on checklists and

automated testing (Involve the USERS!)

• Accessibility is a process, not a project

problem (John B. Metz)

Resources

Guidelines -Web Content (WCAG)

-User Agent (UAAG)

-Authoring Tools (ATAG)

-WAI ARIA: Accessible Rich Interactive Applications

POUR principles

Information must be:

PerceivableOperableUnderstandableRobust

General A11y ToolsWAVE Web Accessibility Evaluation Tool

http://wave.webaim.org/ (Firefox toolbar & Chrome extension)

OpenAjax Alliance (OAA) Accessibility Extension https://addons.mozilla.org/EN-US/firefox/addon/openajax-

accessibility-exte/

AInspector Sidebar

https://addons.mozilla.org/en-US/firefox/addon/ainspector-sidebar/

Accessibility Evaluation Toolbarhttps://addons.mozilla.org/en-US/firefox/addon/accessibility-evaluation-

toolb/

Automated A11y testingpa11y - https://github.com/nature/pa11y

quails - http://quailjs.org/

Tanaguru - https://github.com/Tanaguru/Tanaguru

TENON - http://tenon.io

Document Structure-ToolsJuicy Studio Accessibility Toolbarhttps://addons.mozilla.org/en-uS/firefox/addon/juicy-studio-accessibility-too/

Jim Thatcher’s Faveletshttp://jimthatcher.com/favelets/

NCAM Accessibility QA Favelethttp://ncam.wgbh.org/invent_build/web_multimedia/tools-guidelines/favelet

Visual ARIA Bookmarklethttp://whatsock.com/training/matrices/visual-aria.htm

tota11y - an accessibility visualization toolkit -http://khan.github.io/tota11y/

http://webaim.org/articles/gonewild/#alttext

http://accessibility.psu.edu/images/

http://ncam.wgbh.org/experience_learn/educational_media/describing-images-for-enhanced

http://diagramcenter.org/webinars.html

(resources for accessible images & math)

Describing images -Tools

Color & Contrast - ToolsContrast Analyzer -http://www.paciellogroup.com/resources/contrastanalyser/

Accessibility Color Wheel -http://gmazzocato.altervista.org/colorwheel/wheel.php

CONTRAST-A-WEB - http://dasplankton.de/ContrastA/ Color Safe -http://colorsafe.co/

WCAG Contrast checker

https://addons.mozilla.org/ca/firefox/addon/wcag-contrast-checker/

Color Palette Accessibility Evaluator -http://accessibility.oit.ncsu.edu/tools/color-contrast/

Color Extractor Bookmarklet - http://accessibility.oit.ncsu.edu/tools/color-extractor/ & http://accessibility.oit.ncsu.edu/tools/color-contrast-chrome/

Color Contrast Visualizer

http://www.stainlessvision.com/blog/projects/colour-contrast-visualiser

Writing

-Plain language

-Sentences up to 25 words

-Paragraphs up to 3-4 sentences

-Active voice

-Consistent vocabulary

-Bulleted lists

-Consistent format & navigation

Accessible Video Players

http://www.icant.co.uk/easy-youtube/

Web-Based Media Player Accessibility Comparison Table

Thank you!

Radina Maticradina@learningequality.org

Recommended