Feedback: Make announcement of not pressed state optional (Toggle Button Test Plan V24.03.12)
Description of Behavior
Most or all of test target 81 appears invalid. Expectation and tester seem to have failed all results because VO speaks:
"toggle button" and "selected toggle button" instead of "not pressed toggle button" and "pressed toggle button"
"not pressed" implied by the context of "toggle button." VO users would likely be annoyed with the overly verbose expectation of "not pressed toggle button."
https://aria-at.w3.org/reports/1504/targets/81
Test Setup
- Test File: test-05-navigate-forwards-to-not-pressed-toggle-button-interaction-voiceover_macos.collected.html
- AT: VoiceOver for macOS
- Browser: Safari
@cookiecrook Thank you for this feedback. VoiceOver's handling of toggle buttons in a not pressed state was discussed during an ARIA-AT Community Group meeting in August, and a response was posted in https://github.com/w3c/aria-at/issues/784#issuecomment-1224289661. I'm pasting it here for your reference, and am happy to continue the conversation here, there or elsewhere.
You wrote:
However, I did find an incorrect assumption that seems to account for most of the failures I saw on the couple pages that loaded. Since it's a toggle button that does not speak "pressed", that means it's not pressed. The test assumptions seems to insist VoiceOver would redundantly speak "not pressed" but that state is inferred by the lack of "pressed."
We appreciate having this additional context. We'd like to discuss with you the possibility of Apple accepting the test as-written. The group feels that there would be significant advantages if this test were to be recognised industry-wide as an appropriate statement of expected default behaviour for all screen readers, with Apple making plans to modify VoiceOver's default handling accordingly. Explicitly conveying the "not pressed" state in macOS Safari would:
- Make VoiceOver's toggle button rendering consistent with its treatment of similar elements. In the same browser, VoiceOver explicitly conveys the "not checked" and "off" states of checkboxes and switches, for instance.
- Note: some group members suggested a potential VoiceOver enhancement, whereby non-default verbosity levels would result in states like "not pressed", "not checked" and "off" being omitted in a consistent fashion across similar control types.
- Make VoiceOver's rendering of toggle buttons consistent with their treatment in iOS Safari, where VoiceOver communicates both states.
- Automatically generate confirmatory speech when toggling a "pressed" toggle button to the "not pressed" state. Currently, VoiceOver in macOS Safari is silent when carrying out this action, and the Community Group is concerned about the usability impact this could be having.
- Improve usability in additional ways, especially for novice users. For those who are not familiar with toggle button semantics and how VoiceOver communicates them, concerns were raised about increased cognitive load due to the lack of explicit rendering of the "Not Pressed" state. Specifically:
- Users may not know the acceptable states for a toggle button; and
- There is a perceived requirement to activate the control multiple times to verify that a "not pressed" toggle button has the user's intended state.
- Make VoiceOver's toggle button rendering consistent with most other screen readers, including NVDA, TalkBack and Narrator. Note that JAWS is also an outlier in this regard.
We welcome further input and discussion about this proposal and how Apple made this design decision for macOS VoiceOver, including any input from end-users if relevant. If you would prefer to conduct such a conversation privately and/or synchronously, rather than via this issue thread, please send me an email.
Thank you.
thanks for the pointer to the previous response. I will close this and address it there.
Duping this Issue to #784
Re-opening to track the specific change of making the "not pressed" state assertion optional.