Add screen-reader integration test#21205
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #21205 +/- ##
==========================================
- Coverage 55.98% 55.97% -0.02%
==========================================
Files 218 218
Lines 59059 59059
==========================================
- Hits 33066 33060 -6
- Misses 25993 25999 +6
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
d723a60 to
eb9bcab
Compare
eb9bcab to
541ed54
Compare
535edcc to
d63b607
Compare
d63b607 to
e39230b
Compare
Introduce a new `test/screenreader/` suite that drives a real screen reader (NVDA on Windows, VoiceOver on macOS) via `@guidepup/guidepup`, and use it to cover bug 2034568.
There was a problem hiding this comment.
Looks good to me, with the merge conflict fixed and the comments addressed. It's nice that we have this now given the importance of software accessibility, so being able to continuously run tests against the real screenreaders is quite helpful. Nice work!
| beforeEach(async () => { | ||
| pages = await loadAndWait( | ||
| "tracemonkey.pdf", | ||
| "#viewsManagerToggleButton" |
There was a problem hiding this comment.
It might work in this case, but given 4021d57 it might be safer to await the first page rendering here too (using .page[data-page-number = "1"] .endOfContent) to make sure that the thumbnails are in the right state before we proceed.
| // cache: `describe`/`it`/etc. are resolved off `globalThis` inside | ||
| // `register`, against whichever Jasmine instance was just installed. | ||
| jasmine.loadConfig({ | ||
| random: false, |
There was a problem hiding this comment.
We should set this to true to prevent getting tests that accidentally depend on each other (as tests must always be isolated from each other).
| name: ${{ matrix.os }} / ${{ matrix.browser }} | ||
|
|
||
| # Real screen-reader automation only works on Windows (NVDA) and macOS | ||
| # (VoiceOver), so Linux is intentionally absent from the matrix. |
There was a problem hiding this comment.
We could note there that there is already a feature request at guidepup/guidepup#107 to support a Linux screenreader too, so linking that there could be useful as a reference for later in case it ends up being implemented so we can adjust the workflow.
Introduce a new
test/screenreader/suite that drives a real screen reader (NVDA on Windows, VoiceOver on macOS) via@guidepup/guidepup, and use it to cover bug 2034568.