THE HUMAN SIDE OF ACCESSIBILITY

I'm Alex, nice to meet you!

@alexnmoldovan

Co-Founder @ JSHeroes

medium.com/@alexnm

Hello 🇷🇴 JSHeroes!

Open Source Engineer @ teleportHQ

http://bit.ly/human-a11y

Stage 1 Awareness

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

a11y

a       11       y

https://www.w3.org/WAI/standards-guidelines/wcag/

Stage 2

Misconceptions

Our country does not have accessibility regulation

Misconception 

We don't have users with disabilities

Misconception 

Accessibility does not have any return of investment

Misconception 

More than 1 billion persons in the world have some form of disability. This corresponds to about 15% of the world's population. Between 110-190 million people have very significant difficulties in functioning.

More than 1 billion persons in the world have some form of disability. This corresponds to about 15% of the world's population. Between 110-190 million people have very significant difficulties in functioning.

More than 1 billion persons in the world have some form of disability. This corresponds to about 15% of the world's population. Between 110-190 million people have very significant difficulties in functioning.

Stage 3

Spectrum

Alice

Bob

Charlie

Alex

Stage 4

The Human Side

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

 Ralph E Johnson, GoF

User Experience

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

"It works" vs "It's nice"

Working on accessibility is about doing someone a favor

Misconception 

1. Visual

Color Contrast

✅ Aim for >4.5: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 major sections

✅ Use headings in the right order

Forms

✅ Use <label> or aria-label

✅ Placeholder is not a replacement for labels

✅ Careful with styling & functionality

Menus

✅ Should be keyboard accessibile

✅ Use nav and list elements

Images & Links

✅ Use meaningful alt text

✅ Consider background-image

✅ Use <figure> & <figcaption> (in the future)

✅ Use clear title for links

✅ Avoid "click here" and "read more"

ARIA

✅ Don't use ARIA

✅ Use role / aria for non-standard elements

unless you have to

✅ aria-hidden / role=presentation for non-relevant content

✅ aria-label / aria-labelledby for assisting the SR

1. Visual

2. Semantic

3. Interaction

Keyboard Nav

✅ Support for tab navigation - tabindex "0" or "-1"

✅ 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

Focus

✅ :focus should accompany :hover / onclick

✅ Follow the natural order (tabindex > 1 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

✅ Add labels for toggle buttons

VoiceOver

Orca

Lighthouse

Be inspired by what you don't know

Take Ownership

Team Culture

I'm open to questions!

@alexnmoldovan

Co-Founder @ JSHeroes

medium.com/@alexnm

Thank You!

Open Source Engineer @ teleportHQ

http://bit.ly/human-a11y

Engineer 2.0

User

Engineer 2.0

Peer

Empathic Engineering

The Human Side of Accessibility - JSHeroes

By Alex Moldovan

The Human Side of Accessibility - JSHeroes

  • 735