The Human Side of Accessibility

Alex Moldovan

@alexnmoldovan

Co-Founder @ JSHeroes

UI/UX Developer @ teleportHQ

Accessibility is the design of products, devices, services, or environments for people with disabilities.
Accessibility is the design of products, devices, services, or environments for people with disabilities.

ACCESSIBILITY = DESIGN FOR PEOPLE

Accessibility is a real problem

Accessibility is Diversity

Alice

Bob

Charlie

Dominic

https://www.microsoft.com/design/inclusive/

Accessibility is UX

Before software can be reusable it first has to be usable.

 Ralph E Johnson, GoF

Availability and Accessibility

Safety and Privacy

Convenience and Cost

Delightful Experience

Availability and Accessibility

Safety and Privacy

Convenience and Cost

Delightful Experience

Availability and Accessibility

Safety and Privacy

Convenience and Cost

Delightful Experience

Accessibility Practices

1. Visual

Color Contrast

Aim for >3:1 - AA

 Prioritize Text

Patterns and colors

Typography

 Minimum 16px text

 Font-family consistency

 Standard paragraphs and letter spacing

 80 characters per line

Animations

Animations

 No unexpected transitions

 Use prefers-reduced-motion

 No parallax / scroll to

1. Visual

2. Semantic

A11y Object Model

Page Semantic

 Stop the divfest

 Define landmarks

 Use headings in the right order

 Use the <label> tag

Menus

 Should be keyboard accessibile

 Use nav and list elements

Images & Links

 Use meaningful alt text

 Use clear title for links

 Avoid "click here" and "read more"

1. Visual

2. Semantic

3. Interaction

Keyboard Nav

 Support for tab navigation

 Menu / lists - support left/right & up/down arrows

 Escape / Enter support

Outline

 Never do outline: 0

 Style your own outline

 At a minimum support keyboard outline

https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible

Focus

 :focus should accompany :hover / onclick

 Follow the natural order (tabindex > 0 is an antipattern)

 Focus trap / loop in modal windows

 Handle focus after navigation / content change

Touch Area

 Interactive elements should be at least 44px big

 Small icons should use paddings to increase touch area

VoiceOver

Orca

Lighthouse

Take Ownership

Working on accessibility is about doing someone a favor
Working on accessibility is about doing someone a favor

doing your job

I'm open to questions!

@alexnmoldovan

Co-Founder @ JSHeroes

Thank You!

Code Generator @ teleportHQ

The Human Side of Accessibility - 2020

By Alex Moldovan

The Human Side of Accessibility - 2020

  • 666