SlackAutomated Accessibility Testing at Slack
Read Full ArticleSummary
The article outlines Slack's approach to enhancing accessibility through automated testing, emphasizing the importance of integrating accessibility checks within the existing testing frameworks. It details the challenges faced when embedding Axe into Playwright, including issues with the Locator object and the need for customized solutions. The article also discusses the process of setting up accessibility checks, reporting violations, and ensuring that developers can efficiently manage and triage accessibility issues within their workflows.
Key Learnings
- 1Integrating automated accessibility checks into existing testing frameworks can streamline the development process but may require significant customization to address framework-specific challenges.
- 2The choice of testing framework (Playwright vs. Jest) can impact the implementation of accessibility checks, necessitating a thorough evaluation of each framework's capabilities and limitations.
- 3Automated tools like Axe can help identify accessibility violations, but human judgment is essential for nuanced issues that tools may overlook.
- 4Establishing a clear process for triaging and managing accessibility violations is crucial for maintaining compliance and improving overall product accessibility.
Who Should Read This
Senior Frontend Engineers implementing automated accessibility testing in complex web applications
Test Your Knowledge
What are the trade-offs of integrating accessibility checks directly into Playwright's interaction methods versus running them as separate tests?
How does the Locator object in Playwright complicate the timing of accessibility checks, and what solutions were explored to address this?
What specific challenges did Slack encounter when attempting to embed Axe checks into their Jest setup?
Why is it important to involve users with disabilities early in the design process, and how does this complement automated testing?
What strategies did Slack implement to ensure that accessibility violations are effectively reported and triaged?
Topics
More articles about Accessibility
Explore Accessibility engineering →The most-seen UI on the Internet? Redesigning Turnstile and Challenge Pages
The article outlines the redesign process of Cloudflare's Turnstile widget and Challenge Pages, which are encountered by billions of users daily. It emphasizes the importance of user-centered design,...
From pixels to characters: The engineering behind GitHub Copilot CLI’s animated ASCII banner
The article delves into the complexities of designing an animated ASCII banner for the GitHub Copilot CLI, highlighting the unique challenges posed by terminal environments. It discusses the...
Android VPAT journey
The article outlines Slack's journey in improving accessibility for its Android application through a Voluntary Product Accessibility Template (VPAT). It details the identification of accessibility...
Building a more accessible GitHub CLI
The article outlines GitHub's commitment to improving the accessibility of its command-line interface (CLI), addressing the unique challenges faced by users with disabilities. It highlights the...
Design system annotations, part 1: How accessibility gets left out of components
The article explores the critical role of accessibility annotations in design systems, emphasizing how they can bridge gaps in communication between designers and developers. It outlines the common...
More from Slack Engineering
View Slack engineering blogs →Android VPAT journey
The article outlines Slack's journey in improving accessibility for its Android application through a Voluntary Product Accessibility Template (VPAT). It details the identification of accessibility...
Streamlining Security Investigations with Agents
The article outlines how Slack's Security Engineering team leverages AI agents to enhance the efficiency of security investigations. It details the development of a prototype that evolved into a...
Migration Automation: Easing the Jenkins → GHA shift with help from AI
The article outlines a project undertaken at Slack to automate the migration of CI jobs from Jenkins to GitHub Actions (GHA). It details the development of a conversion tool that leverages the GitHub...
How we built enterprise search to be secure and private
The article discusses the development of Slack's enterprise search feature, emphasizing its security and privacy principles that align with Slack AI's compliance standards. It details how the system...
Optimizing Our E2E Pipeline
The article outlines how Slack's DevXP team optimized their end-to-end (E2E) testing pipeline by addressing inefficiencies in frontend builds within a monolithic repository. By implementing a...