Comments (1)
@mcking65 it's been some time since we initially discussed this so wanted to bump this thread with some thoughts and questions and also follow up on if these requirements are still aligned given other changes.
One possible approach is that the commands file file name specifies the minimum version required. For example:
voiceOver_macOS+14.3-commands.csv
A potential alternative to creating a separate file could be adding a new column to the existing {at}-commands.csv
file, and that's to primarily limit technical changes required in the script generator. There are pre-existing assumptions that a single commands.csv
is matched to a single AT.
But in exploring this idea, I wonder if this negatively impacts test authors? A sole benefit of the above (to me) is working with already known files.
But a new column which could just indicate the minimumAtVersion
would mean that additional rows would have to be created to store the version specific settings. I can acknowledge that the {at}-commands.csv
files could get uncomfortably larger if there is a need to consistently handle more AT version specific setting changes with new AT version bumps.
Another thought is if a test author may want to remove commands for a specific AT version in the future. In this case, then a different column could be preferred over just minimumAtVersion
which could handle version specific settings + command exclusions
or just a new column along with minimumAtVersion
which handles potential command exclusions but even more business logic in a single file could become problematic at some point.
Then, if a run in the test queue specifies either a minimum version of 14.3 or a version that is newer than 14.3, the test runner would use that commands file. Similarly, in the reports, the commands shown would match the version requirements specified by the commands file.
For backward compatibility, if there are multiple files for the same AT and one does not specify a minimum version, it would be assumed to be applicable to versions that are older than the version specified by the file with the earliest minimum version.
The version numbers specified would need to exactly match the version numbers specified in the version list in the app.
Sounds good!
To be completely robust, the version numbers specified in the app should have approximate release dates so versions can be reliably sequenced in time.
Sounds good and the app is already tracking those.
Some additional questions before moving this forward:
- Can we expect that a test author may also add and remove commands for a new version?
- What is the expectation of whatβs displayed on the review pages when a version specific setting is present?
Something like the following in the commands instructions works?
... If any settings are specified in parentheses, ensure the settings are active before executing the command or command sequence.
- Space (virtual cursor active)
- Enter (virtual cursor active)
- Space ({NEW-JAWS-SETTING} for JAWS 2026)
Something like the following in the assertion tables works?
Space ({NEW-JAWS-SETTING} for JAWS 2026): 1 MUST, 0 SHOULD, AND 1 MAY assertions
Priority Assertion Phrase Assertion Statement MAY convey role 'alert' Role 'alert' is conveyed MUST convey text 'Hello' Text 'Hello' is conveyed
- Also any thoughts for the collection form in this repository's rendered pages?
- In the app, the collection form will already know which settings to show since the AT version requirement would be known. But the same question applies for the review page in the app.
from aria-at.
Related Issues (20)
- Feedback: "Increment a slider by one step" (Color Viewer Slider, Test 4, V24.06.26) HOT 2
- Feedback: "Decrement a slider by one step" (Color Viewer Slider, Test 5, V24.06.26) HOT 1
- Reduce duplication between v1 and v2 `process-test-directory` builders
- Feedback: "Increment a slider to the maximum value" (Color Viewer Slider, Test 9, V24.06.26) HOT 3
- JAWS Feedback: "Request information about an unchecked radio button" (Radio Group Example Using aria-activedescendant, Test 14, V24.03.13) HOT 2
- Feedback: "Navigate from a collapsed disclosure button to a link in a dropdown" (Disclosure Navigation Menu Example, Test 12, V24.07.31) HOT 1
- Feedback: "Navigate backwards to a collapsed disclosure button" (Disclosure Navigation Menu Example, Test 2, V24.07.31)
- Feedback: "Navigate to an expanded disclosure button from a link in the associated dropdown" (Disclosure Navigation Menu Example, Test 11, V24.07.31)
- Feedback: "Activate a link in a dropdown" (Disclosure Navigation Menu Example, Test 15, V24.07.31)
- Feedback: "Navigate backwards to a menu button" (Action Menu Button Example Using aria-activedescendant, Test 2, V24.08.08) HOT 1
- Feedback: "Navigate to an item in a menu by typing a character" (Action Menu Button Example Using aria-activedescendant, Test 9, V24.08.08)
- Feedback: "Navigate forwards to an expanded disclosure button" (Disclosure Navigation Menu Example, Test 3, V24.08.12) HOT 1
- Feedback: "Request information about a menu item" (Action Menu Button Example Using aria-activedescendant, Test 6, V24.08.12) HOT 1
- Feedback: "Activate a menu item" (Action Menu Button Example Using aria-activedescendant, Test 10, V24.08.12)
- Feedback: "Request information about a collapsed disclosure button" (Disclosure Navigation Menu Example, Test 5, V24.08.12)
- Feedback: "Request information about a collapsed disclosure button" (Disclosure Navigation Menu Example, Test 5, V24.08.12) HOT 1
- Feedback: "Request information about an expanded disclosure button" (Disclosure Navigation Menu Example, Test 6, V24.08.12)
- Feedback: "Navigate from a collapsed disclosure button to a link in a dropdown" (Disclosure Navigation Menu Example, Test 12, V24.08.12) HOT 1
- Feedback: "Navigate backwards to a menu button" (Action Menu Button Example Using aria-activedescendant, Test 2, V24.08.12)
- Feedback: "Activate a link in a dropdown" (Disclosure Navigation Menu Example, Test 15, V24.08.12)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aria-at.