Include axe automated accessibility checks in feature tests
This epic groups all issues that aim to set up GitLab with automates accessibility checks using axe-core-gem. > [!NOTE] Shifting to Dedicated Accessibility Feature Specs for User Journeys > GitLab has been integrating axe automated accessibility checks into feature tests across the codebase. The current approach includes accessibility assertions within existing functional feature specs. However, as of ~"FY26::Q4" we are shifting to a new strategy: **dedicated accessibility-only feature specs that focus on complete user journeys**. ## The Strategic Shift **From:** Accessibility checks embedded in every feature spec\ **To:** Dedicated accessibility specs that test complete golden user journeys This represents a fundamental change in how we approach accessibility testing at GitLab. ## Why This Change Matters ### Resource efficiency * Eliminates redundant testing of shared elements (navigation, breadcrumbs) that appear across multiple views * Reduces test execution time by consolidating accessibility checks * Focuses resources on high-impact user flows rather than individual page components ### Test reliability * Uses mocked data for consistent, reproducible results * Isolates accessibility checks from functional test failures * Prevents functional test flakiness from blocking accessibility validation ### Better ownership and scalability * Separate folder structure makes accessibility specs easy to identify and maintain * Clear delegation model enables stage groups to own their journey coverage * Provides reusable boilerplate and guidelines for consistent implementation ### Journey-focused coverage **Key principles:** * **Mocked data**: Controlled test environment ensures consistent results * **Isolated checks**: Accessibility assertions separate from functional tests * **Journey-based**: Tests complete workflows, not individual pages * **Comment-driven templates**: Engineers fill in implementation details based on existing specs * Tests accessibility across complete user workflows, not just isolated pages * Mirrors how real users interact with GitLab * Prioritizes golden journeys based on actual user traffic data ## What This Means for Teams **Stage groups will:** * Receive boilerplate templates and clear implementation guidelines * Focus on translating golden journeys relevant to their stage * Own accessibility coverage for their critical user flows * Use reference implementations as examples **We're starting with:** * ~"devops::create" and ~"devops::plan" stages (highest user traffic) * Golden journey test cases as the foundation * One reference implementation to demonstrate best practices ## Technical Context This approach addresses limitations discovered during technical investigation: * E2E tests with real data produced inconsistent results * Coupling between functional and accessibility checks created dependencies * Test ownership transfer to stage groups required more maintainable structure The new approach builds on existing accessibility testing infrastructure while providing a more scalable, reliable framework for comprehensive coverage. --- ## Metrics :chart_with_upwards_trend: - Historical trends for included axe checks in feature tests: https://gitlab-org.gitlab.io/frontend/playground/accessibility-scanner/history - Accessibility scanner dashboard with the current state of implementation: https://gitlab-org.gitlab.io/frontend/playground/accessibility-scanner/
epic