This month’s Accessibility Talk was an encore presentation of the panel’s Core Conversation at DrupalCon Nashville: Core Accessibility: Building Inclusivity into the Drupal Project.
Helena McCabe, Catherine McNally, and Carie Fisher discussed the fundamentals of accessibility and how they can be injected further into the Drupal project. All three are accessibility specialists in their fields.
What is accessibility and why does Drupal need it?
Web Accessibility is about building websites that accommodate people with disabilities. It is especially important in the Drupal community so people can be as self-sufficient as possible.
What disabilities primarily benefit from Web accessibility?
- Visual Impairment - People who are blind or have trouble distinguishing between colors and color contrasts.
- Deaf / Hard of Hearing - Some have trouble understanding content that is not captioned.
- Motor disabilities - People who have fine or gross motor problems and it makes it difficult to use a mouse.
- Vestibular issues and seizure disorders - These issues are often overlooked and those users can get motion sickness or have seizures from some of the special effects on sites.
- Cognitive disabilities - Our aging group and people with autism or Down syndrome need to have an inclusive web and be allowed to be as self-sufficient as possible.
How do people with disabilities use the web differently?
- Keyboard and Screen reader accessibility - Nothing on a website should need a mouse to interact with it. Descriptive text for images and destination of links are important for screen readers.
- Captions and Transcripts - Captions happen in time with the audio and video, while transcripts are a full transcription of both the audio and visual information provided by a video. Transcripts are especially helpful to the blind/deaf user who might want to download the text into a braille reader.
- Color and Contrast - The contrast ratio should be 4.5 to 1 for normal text and 3 to 1 for large text. It is best to stay away from using only colors to relay information.
- Cognitive accommodations - Users benefit from a predictable, intuitive, and constant layout. That way they don’t have to re-orient themselves on how to use the website. Dyslexic people may need more time to process information especially if it’s complex. Don’t force people through content at a pace that cannot be controlled.
Why does Drupal need accessibility?
It is estimated that 2.2% of ALL websites are run on Drupal. The better Drupal Core is out of the box, the better it is for everyone.
- End users may have disabilities.
- Developers may have disabilities.
- Clients and people within the agencies we build websites for may have disabilities.
- It’s the law: Section 508, WCAG 2.0, and Title III of the ADA.
- Drupal is for everyone!!
What are some recent Drupal core accessibility improvements?
- Inline Form Errors module - This project is now stable in core. IFE alerts the user of a screen reader when there is an error when entering information on a form upon submission. The user does not have to rely on the error to be in focus to receive it.
- Drupal.announce() and Drupal.tabbingManager - Extended coverage to more dynamic content.
- Umami Out-of-the-box - This theme/demo illustrates Drupal’s accessibility features such as menu accessibility, primary tab theming updates, heading structures, and alt text for images.
- Point Release - We no longer have to wait for major releases for continuous improvement.
What are some of the challenges we face in integrating accessibility into Drupal Initiatives?
- Automated testing - QuailJS and other automated testing has been deprecated in core. It is not a perfect science, it only catches about 20%, but it does help with the more obvious issues.
- Layout Builder - This is an experimental module that was added without an accessibility review. The “drag and drop” aspect does not have a widely adopted accessibility standard.
- WCAG 2.1 - These guidelines are coming out later this year and will need to be addressed. We want to be proactive rather than reactive.
- WAI-ARIA 1.1 - These have been out for a while, but there are still issues to be addressed.
- Migrate - There needs to be a mechanism in place for tagging accessibility during migrations.
- Media - Features for accessibility for videos and images would be great for things like transcripts. Clients would get a more robust experience if best practices are already incorporated. ie., alt text could be a required field.
- Umami - Is in core now, but it still needs plenty of work.
How can the community help increase accessibility in Drupal?
First of all, be aware that there are not enough experts in the area of accessibility. Some people feel that automated testing can be used, but in actuality, it only catches 20 - 40% of errors; but, manual testing can be time consuming and difficult. The standards for accessibility are constantly changing and adapting as the landscape evolves.
Why and how can we help?
- Organizations - Improving accessibility can increase the user base, improve conversions, and save time and money. Organizations can make an effort to increase expertise by allowing contributions, providing resources, and sponsoring events.
- Agency - Accessibility attracts employees and clients. It fosters inclusivity, which can help sell Drupal. Employees can be given the time to study and improve their knowledge. Client contracts and budgets should have accessibility baked in.
- Community - The accessibility community provides an easy way to give back while helping others develop their skills and empathy. It helps Drupal stay relevant. Education is key: attend meetups and conventions, join online chats, and find a mentor.
- Leadership - Taking the lead is easy. Mentoring, writing blogs, encouraging documentation, organizing events, and tagging issues can all help novices learn how to make the web more accessible.
How can you contribute and help?
There are many opportunities beside code that we can give back to the accessibility community to ensure diversity through inclusion.
- Code - Search the Drupal and GitHub issue queue for accessibility or a11y tags.
- Documentation - Accessibility has a lot of documentation, but it could always use more!
- Meetups - Connect with others in the community and bring your knowledge back to your peers or extended community.
- Connections - Make positive connections through Twitter, Slack, and try to reach outside your network and beyond your own borders.
The Umami theme has open issues and will have more as content is generated:
- Color Contrast Ratio updates
- Redundant Links / Wrapping a card as one line
- Message / Error Status State(s) indicated with color AND icons
- Issues with Layout Builder
General resources mentioned in the presentation:
- WCAG 2.1 - https://www.w3.org/TR/WCAG21
- ATAG 2.0 - https://www.w3.org/TR/ATAG20
- ARIA Authoring Practices 1.1 - https://www.w3.org/TR/wai-aria-practices-1.1
- General Checklist - https://a11yproject.com/checklist.html
- Accessibility Evaluation tools - https://webaim.org/articles/tools/
- Accessibility Courses List - https://github.com/mgifford/a11y-courses
- Accessibility Statement - https://www.drupal.org/about/features/accessibility
- Accessibility Best Practices (D8) - https://www.drupal.org/docs/8/accessibility
- Accessibility Features (D8) - https://www.drupal.org/docs/8/accessibility/drupal-8-accessibility-features
- Contributed Accessibility Modules (D8) - https://www.drupal.org/docs/8/accessibility/contributed-modules-for-extending-accessibility-in-drupal-8
Drupal Accessibility Group
Join the Accessibility group on Drupal.org for hints, tips, discussions, and patch proposals to help make Drupal more inclusive.