Skip to content

A11Y improvements#373

Merged
igordanchenko merged 33 commits into
igordanchenko:mainfrom
ubermanu:feat/a11y
Jul 1, 2025
Merged

A11Y improvements#373
igordanchenko merged 33 commits into
igordanchenko:mainfrom
ubermanu:feat/a11y

Conversation

@ubermanu

Copy link
Copy Markdown
Contributor

Description

Follow up of #362

Checklist

@ubermanu

Copy link
Copy Markdown
Contributor Author

@igordanchenko It's up!

I've moved back the focus to the container and removed the slide.title as mentioned in #362 (comment) and #362 (comment) and

@igordanchenko

Copy link
Copy Markdown
Owner

@ubermanu I've pushed my commits. Please take a look.

Notable changes:

  • changed slide role from region to group
  • changed slide counter template string to {index} of {total}

@ubermanu

Copy link
Copy Markdown
Contributor Author

@igordanchenko LGTM!

You don't have issues anymore with role=group on the slides with VoiceOver?

@igordanchenko

igordanchenko commented Jun 27, 2025

Copy link
Copy Markdown
Owner

You don't have issues anymore with role=group on the slides with VoiceOver?

I no longer see the same issue as I did before. I guess the changes to roles and the DOM structure we have implemented made a difference. Previously, VoiceOver wouldn't announce slide titles and descriptions at all. In the current implementation, it still doesn't announce the title and description of the very first slide, but it starts announcing them as you continue to rotate through the slides. Also, in Safari, it appears to announce thumbnail buttons. It only happens when I open the lightbox and start changing slides using the keyboard arrow keys. I'm not sure if that's expected.

@nicozerr

Copy link
Copy Markdown

On MacOS 14 Sonoma, VoiceOver restitutes everything correctly, using TAB in interactive mode, and Up/Down arrows in reading mode. Idem with NVDA and Narrator on Windows 11.

@igordanchenko

Copy link
Copy Markdown
Owner

@nicozerr thank you for conducting these tests and confirming that everything is working as expected.

@nicozerr @ubermanu unless you have any concerns or additional feedback, I'll release this PR tomorrow.

ubermanu and others added 24 commits June 30, 2025 22:21
this caused the content of the modal to be announced twice because the
inner carousel already has aria-live=polite
Add aria-label to describe the content of the carousel
Let AT announce the dialog role, followed by a label that describes its
content
Focus should be contained into the modal until ESC is pressed
main wrapper is already set up to inert
The controls are announced by AT if contained in the aria-live=polite
gallery
@igordanchenko
igordanchenko merged commit f6a7808 into igordanchenko:main Jul 1, 2025
8 checks passed
@github-actions

github-actions Bot commented Jul 1, 2025

Copy link
Copy Markdown

🎉 This PR is included in version 3.24.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@github-actions github-actions Bot added the released Implemented and released label Jul 1, 2025
@igordanchenko

Copy link
Copy Markdown
Owner

@ubermanu @nicozerr thank you both for your contribution!

@github-actions github-actions Bot locked and limited conversation to collaborators Oct 5, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

released Implemented and released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants