Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add aria-live assertive for recording countdown #370

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

microbit-grace
Copy link

Also centred text for "connecting" dialog

Copy link

Preview build will be at
https://review-createai.microbit.org/countdown-live/

Comment on lines 59 to 61
// Empty string state added to countdown because aria-live role region
// reads dynamic changes to region and not the initial contents.
{ value: "", duration: 500, fontSize: "8xl" },
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if this is the right way of doing it, suggestions welcomed.

Alternatively, we could use role="alert" instead of role="region", but mdn documents role alert as for errors/warning messages (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions#roles_with_implicit_live_region_attributes).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's odd that the dialog starts empty. Can we have an empty string for the minimum amount of time necessary rather than 500 ms for the change to be read out?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@microbit-grace microbit-grace marked this pull request as ready for review October 10, 2024 08:53
@microbit-grace microbit-grace requested a review from a team October 10, 2024 08:53
textAlign="center"
fontWeight="bold"
color="brand.500"
role="region"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this is better?

Suggested change
role="region"
role="timer"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@microbit-robert
Copy link

This kind of works and kind of doesn't. NVDA is too busy reading out things from previous focus, current focus, and the fact that a dialog has appeared. It's just too slow to be useful. It continues to read 3, 2, 1 etc, but it's well behind what is changing on screen. By the time it says "recording", the recording has practically finished.

The progress bar has some built in aria-live features. For NVDA it's an incredibly irritating noise starting low in pitch and getting higher until it stops.

Windows narrator does a slightly better job. It is busy reading that a close button is focussed, misses the start of the countdown, but keeps pace. It's normally "2 , 1..." or "1, recording". It also doesn't produce a noise during the progress dialog transition.

I don't really know the best way to fix this. There could well be options in the screen reader settings that would improve the experience.

One thing we don't do at the moment is tell you when the recording stops. You only get a sense that it does because a different button becomes focussed when the dialog closes.

@microbit-grace
Copy link
Author

This kind of works and kind of doesn't. NVDA is too busy reading out things from previous focus, current focus, and the fact that a dialog has appeared. It's just too slow to be useful. It continues to read 3, 2, 1 etc, but it's well behind what is changing on screen. By the time it says "recording", the recording has practically finished.

The progress bar has some built in aria-live features. For NVDA it's an incredibly irritating noise starting low in pitch and getting higher until it stops.

Windows narrator does a slightly better job. It is busy reading that a close button is focussed, misses the start of the countdown, but keeps pace. It's normally "2 , 1..." or "1, recording". It also doesn't produce a noise during the progress dialog transition.

I don't really know the best way to fix this. There could well be options in the screen reader settings that would improve the experience.

Hmm.. sounds like the experience for NVDA and windows narrator are different to Mac voice over experience. 🤔 Below is a video for what I experience using the Mac voice over.

Screen.Recording.2024-10-10.at.13.21.31.mov

I'm not sure what's the best way to fix this too.

@microbit-grace
Copy link
Author

One thing we don't do at the moment is tell you when the recording stops. You only get a sense that it does because a different button becomes focussed when the dialog closes.

Maybe adding a toast that says "Recording added" or something along those lines could hint to the user that the recording has stopped? Suggestions welcomed

@microbit-robert
Copy link

Well, the recording countdown works beautifully with Mac voice over.

@microbit-matt-hillsdon
Copy link

Parking this one until we can try out in person and discuss next week.

@microbit-matt-hillsdon microbit-matt-hillsdon marked this pull request as draft October 11, 2024 11:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants