Skip to main content

Accessible by default

It's one thing to build a new application that meets the latest accessibility standards, but it's another thing to update an existing application to meet them.

Joel Hawksley

Staff Engineer at GitHub

Schedule Entry

Slides

Attendees

  • Jeremy
RelevancyInteresting
78

Notes

https://hawksley.org/

Github and whether this is relevant

~4000 Employees ~1400 Controllers. +25% YoY 400,000 lines of ERB First 6 years no managers, 9 years no product managers. Be the home for all devs.

“We believe people with disabilities should benefit from and be able to contribute to the creation of human progress” - Accessibility.GitHub.com

Colorado. Natural disaster. House burned down.

Accessibility

“Accessibility is the concept of whether a product or service can be used by everyone - however they encounter it.” - intersection-design.org

Types of disability

Permanent, Temporary, Situational Hearing. Deaf, Ear Infection, Loud Environment Touch. Missing Arm, Broken Arm, Filled arm.

Standards

WCAG 508 APG

Chrome has accessible tools in the dev tools

Scanning Forms Previews (Preview Driven Development)

Scanning

BAD A11Y DOES NOT BREAK CI

Alt text for images. Can check for alt text, but cannot check it is accurately describes it. Grouping things implies meaning. Blind people don’t see that.

ax tool.

Highlights accessibility errors and throws console errors.

Intractability

Rethink an entire workflow. GH projects for instance. Drag and Drop

Forms

Core competency form_with is basically 1to1 with DOM. Not accessible out of the box.

“Programmatically associate labels with all form controls. The recommended methods is to use the label element and an explicit association using the for and id attributes” - Axe rule 4.4

DEFINE ERRORS OUT OF EXISTENCE. Construct software to make invalid states impossible. Accessible by… default? Solved with a custom form builder.

Accessible Abstractions

E.G. Avatar. Built a UI Component.

Previews (Preview Driven Development)

View Component Previews. Basically like Action Mailer preview but for view components. Testable.

Tools

LookBook (basically storybook). Works for Rails partials Built from the ground up for Rails and Hotwire. Has accessibility tools built in. Primer for Github Design System.

Universal Design

I.E. Curb cuts (for wheelchairs originally, but helps/ Single Sign on avoids Capchas.

“We also know there are know unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns - the ones we don’t know we don’t know. And if one looks throughout the history […] it is the latter category that tends to be the difficult ones.” -Donald Rumsfeld

Use Practical Empathy