Shift Left for Inclusion: Scalable Accessibility Testing with Cypress - CypressConf 2025

LudovicoBesana 9 views 43 slides Oct 21, 2025
Slide 1
Slide 1 of 80
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80

About This Presentation

Learn how to integrate accessibility testing early in your development cycle using Cypress Accessibility. This talk is based on a deep dive into the tool, extracting practical strategies, actionable tips, and insights to foster a truly inclusive quality culture. We'll explore how to enable autom...


Slide Content

Shift Left for Inclusion:
Scalable Accessibility Testing
with Cypress
@ludovicobesana

SheTech Ambassador
Grafana & BrowserStack Champion
Startups Co-Founder
Open Source Contributor
Some passions: , ,
About me

@ludovicobesana

@ludovicobesana

The Persona Spectrum del Microsoft's Inclusive 101 Toolkit.
@ludovicobesana

@ludovicobesana

Accessibility

services can be used by people of all abilities, including those with
disabilities.

Goal: To remove barriers that could prevent someone from using a
product effectively, ensuring equal access for everyone.
@ludovicobesana

Why Accessibility Matters
@ludovicobesana
1 in 6 people worldwide live with a
disability (WHO, 2023)
In Italy, over 3 million users face digital
accessibility challenges (ISTAT)
$13 trillion in global purchasing power
from the disabled community (source:
Purple Pound)

@ludovicobesana

@ludovicobesana

@ludovicobesana

@ludovicobesana

What if was built
with barriers?
96% of the web
@ludovicobesana

96%
@ludovicobesana

Only 3% of websites meet the
minimum WCAG AA standards.

A web that is almost entirely non-compliant.
@ludovicobesana

@ludovicobesana

Do you include accessibility
testing in your QA process 

(yes or no)?
@ludovicobesana

The harsh reality
@ludovicobesana

@ludovicobesana

@ludovicobesana

Main Challenges

Learning curve for teams
Perception that accessibility “slows down” development
Lack of organizational priority
No clear ownership within teams
@ludovicobesana

Accessibility Debt
@ludovicobesana

Accessibility Debt

Effects: Regressions, higher costs, legal risks, loss of users
Analogous to technical debt, but far more visible to users
@ludovicobesana

@ludovicobesana

Toxic Dynamics
“Finger pointing” between teams: designers blame developers, developers
blame PMs, QA is stuck in the middle — often without the tools to fix the problem.

Treating accessibility only as remediation (a post-release fix) leads to:
An endless backlog of bugs
Frustrated developers
Delayed releases
@ludovicobesana

What if I wanted to ignore
accessibility?
@ludovicobesana

Legal Risks and Penalties

face significant fines for failing to comply with accessibility regulations such as
WCAG and the Italian Law 4/2004.

Lawsuits: High-profile cases — like the Domino’s Pizza lawsuit in the U.S. —
show the financial risks of ignoring accessibility, with penalties reaching
hundreds of thousands of dollars.

Damaged Reputation: Not meeting accessibility standards can severely harm
a company’s reputation and erode customer trust.
@ludovicobesana

European Accessibility Act
Mandatory for:
Companies releasing digital products or services from June 2025
eCommerce, websites, mobile apps, e-books, software, banking, ecc.
Exemptions:
Micro-enterprises (<10 employees and <€2M turnover)
SMEs: exempt only if compliance causes a disproportionate burden (must be
documented and updated every 5 years)
What changes:
Transition from limited obligations to widespread enforcement across almost all
digital service providers.
@ludovicobesana

@ludovicobesana

How we can
solve this?
@ludovicobesana

@ludovicobesana

The Crucial Role of Design
About 60% of accessibility issues can be resolved during the design phase.

Designers can directly address 27 WCAG success criteria, including:
Color contrast
Navigation order
Visible focus indicators
Alternative text for images
Proper heading hierarchy

Always keep in mind the four WCAG principles:

Perceivable, Operable, Understandable, and Robust.
@ludovicobesana

Always the
four WCAG principles:
keep in mind
@ludovicobesana
Perceivable, Operable, Understandable, and Robust.

Make sure your design is
accessible from the start.
@ludovicobesana

@ludovicobesana

Recognize Common Accessibility Issues

Images without alternative text (alt text)
Missing labels on form fields
No visible keyboard focus
Illogical reading or navigation order
Improperly structured headings (H1, H2, H3…)
Vague or non-descriptive links (e.g., “Click here”)
Elements not accessible via keyboard (e.g., menus or sliders)
Overuse of tooltips or hover-only elements
Missing alternative text for video/audio content (captions, transcripts)
@ludovicobesana

Shift Left
@ludovicobesana

@ludovicobesana

What is
Shift Left?
@ludovicobesana

@ludovicobesana

In practice

Development: Use semantic HTML and linting (eslint-plugin-jsx-
a11y)
Testing: Automate A11y in Cypress
CI/CD: Enforce with Results API and branch gating
@ludovicobesana

REMEMBER:
Even if all automated tests pass, your
website or app might still not be 100%
accessible.
@ludovicobesana

We need to combine
automation with manual testing.
@ludovicobesana

Automation

A11y 

Testing
@ludovicobesana

Challenges in Automated A11y Testing
Flaky

Tests
Limited
Coverage
Performance
Trade-offs
@ludovicobesana

@ludovicobesana

@ludovicobesana

Approach A:
@ludovicobesana
Cypress + cypress-axe

Approach B:
@ludovicobesana
Cypress Accessibility Cloud

Cypress + cypress-axe
Runs axe-core directly inside your Cypress tests
Adds two key commands:
→ injects the axe library into the page
→ runs accessibility checks on the current DOM

Fully customizable scope (e.g., #main, .modal, [role="dialog"])
Integrates with local and CI runs

cy.checkA11y()
@ludovicobesana

@ludovicobesana

@ludovicobesana

@ludovicobesana

@ludovicobesana

@ludovicobesana

@ludovicobesana

Approach A: Pros & Cons
Pros:
Full control over where and when checks run
Open source, free, quick to set up
Excellent for small projects or CI prototypes
Cons:
Slows down functional tests
Limited coverage (checks only current state)
Basic text-based reporting — no dashboards
@ludovicobesana

Premium (Cypress Accessibility Cloud)
Zero setup: no code changes required
Scans DOM snapshots captured during every Cypress run
Detects violations across all page states (modals, hover, transitions)
Produces rich dashboards:
Run Summary
Views (per page)
Rules (per violation)
Branch Review (diffs between PRs)
Integrates with CI/CD and Results API for gating
@ludovicobesana

@ludovicobesana

@ludovicobesana

@ludovicobesana

@ludovicobesana

Branch Review & Results API

→ Shows New and Resolved accessibility issues
Results API: Enables automation gates (e.g., fail build if new criticals detected)
Use as quality gate in CI/CD pipelines
Tip: Integrate API results into Slack or Jira for instant team feedback
@ludovicobesana

@ludovicobesana

@ludovicobesana

Approach B: Pros & Cons
Pros:
Zero setup, full automation
Covers every state captured by your tests
Visual dashboards and trend analytics
Great for distributed teams
Cons:
Cloud-only (requires Cypress Cloud account)
Subscription cost for advanced features
Not ideal for offline or self-hosted environments
@ludovicobesana

@ludovicobesana

Resources
@ludovicobesana

https://learn.microsoft.com/en-us/training/paths/accessibility-fundamental/
@ludovicobesana

https://docs.cypress.io/app/guides/accessibility-testing
@ludovicobesana

https://docs.cypress.io/accessibility/get-started/introduction
@ludovicobesana

https://developer.mozilla.org/en-US/docs/Web/Accessibility
@ludovicobesana

@ludovicobesana

Start early:
reduce accessibility debt
Use a hybrid approach: 

local development + cloud and 

don’t forget about manual tests
Inclusivity Drives
Product Success
3 Take Aways
@ludovicobesana

If automation removes friction,
what’s stopping us from building
a ?more accessible web
@ludovicobesana

“Accessibility—essential for some,
useful for all.”
—W3C WAI
@ludovicobesana

Thank you
@ludovicobesana

Q&A
@ludovicobesana

News

Meet Ludovico
@ludovicobesana