Closed jscholes closed 8 months ago
Idea: could an unexpected mode switch be listed as an unexpected behaviour?
The Assistive Technology Automation Subgroup of ARIA-AT Community Group just discussed this issue. Meeting minutes are available on w3.org and also included below.
@IsaDC @jscholes
Are there any unanswered questions remaining in this issue? I think we have addressed all of this with the V2 format and we could close this issue? Do you concur?
@IsaDC @jscholes
Are there any unanswered questions remaining in this issue? I think we have addressed all of this with the V2 format and we could close this issue? Do you concur?
Agree. We can close this issue.
Yep, closing.
Initial Mode Switching Exploration
Background
Within ARIA-AT tests targeting Windows screen readers that have multiple modes of operation (currently JAWS and NVDA), we include separate tests to evaluate behaviour in those separate modes where applicable. We have two abstract terms for these modes, "reading" and "interaction", illustrated via the following two example tests:
With default settings, both JAWS and NVDA include functionality to automatically switch between reading and interaction modes when it is felt to be appropriate, or stay in a given mode when it isn't. For example:
Most ARIA-AT tests do not currently include any assertions aimed at evaluating mode switching or retention. To my knowledge, the only test plan that does is Editor Menubar Example, which includes a single test called:
And a single relevant assertion within that test, worded as:
Note that this test plan has not been modified since July 29th, 2020, almost three years ago at the time of writing. As such, it does not follow many of the test writing practices established since then, such as separated tests based on directionality, test title/assertion wording, heavy reliance on setup scripts, etc.
Objective and Rationale
Mode switching and retention, herein referred to as "mode selection", are important aspects of a screen reader user's experience:
#2
also applies in reverse. After interacting with certain controls and then expecting to be returned to a reading context, retention of interaction mode may be disconcerting or represent a blocking issue if users do not know how to manually switch modes.The aim, therefore, is to begin evaluating mode selection behaviour within our tests. This will represent a large scope of work, and hence our primary short-term goal is to determine:
Working Example
To aid in extrapolation of requirements, and discussion of same, this section presents a working example based on the test plan that targets the Editable Combobox with Both List and Inline Autocomplete example in the APG. The relevant test plan preview can be found at:
https://aria-at.netlify.app/review/combobox-autocomplete-both-updated.html
Note that this is not intended to be an exhaustive evaluation of how mode selection might be incorporated into an existing test plan, but rather some proposed starting points that can later be added to, subtracted from, and/or changed as needed. In particular, adaptation other test plans may end up being less or more complex than what is presented here.
Navigate to a combobox in reading mode
The title of this section represents a repeated testing task, abbreviated to remove variation between tests. Specifically, it covers the following tests:
In all cases, the included commands are:
Current Screen Reader Behaviour
With their default settings, both JAWS and NVDA behave as follows:
Questions/Comments
At a high level, there are two questions to answer for each of these outcomes:
Example expectations and outcomes:
Implications
Within the ARIA-AT test format, it is not currently possible to assign command-specific assertions. In this case, we cannot assert within a single test that quick navigation and arrow keys should not result in a mode switch, but Tab and Shift+Tab should.
Practically speaking, this can only be resolved by either:
Proposed Test Separation
As a reminder, here is the list of the four relevant tests in the plan:
This could be expanded to:
This doubles the number of tests in this group, and would expand the overall test plan from 76 tests to 80 (around a 5% increase).
Potential New Tests
The previous section covered moving to/ into a combobox, but not away from/out of it. Such tests are not included right now because they wouldn't exercise screen reader functionality relating to the combobox itself.
With mode selection added to the equation, we could add new tests to assert expected behaviour when moving away from a control that requires interaction mode to be active. Here is a list of some example tests, albeit in an abbreviated form:
Note that:
Nevertheless, adding everything here on top of the test expansions from the previous section would expand the test plan from 76 to 90 tests in total, an increase of over 18%.
Modified Tests
Some existing tests in the plan could benefit from assertions being added related to mode selection. Again, these tasks are in an abbreviated form.
Other Notes
CC @IsaDC, @mcking65