Open isaacdurazo opened 1 year ago
Great work, @isaacdurazo! As always, your attention to detail for design and documentation is inspiring :)
In each row of the "Status Summary" table, a phase name is displayed twice: once in the "Test Plans" column and also in the "Phase" column (via the active state of the <select>
element). I initially thought they were redundant until I noticed that they differ in the final row of the visual mockup. Since your written description doesn't mention that a Phase title appears in the "Test Plans" column, I'm wondering what this is about.
- Draft:
- 0 Testing Rounds Completed
- X of Y Testing Rounds Completed
- Candidate
- 0 Reviews Completed
- X of Y ReviewsCompleted
For each of these, when would the first option be used instead of the second?
- Test Plan Column:
- Displays the name of the Test Plan as a link if the user is assigned or as plain text if they are not
This is a little bit subtle for my liking. I would prefer to see a dedicated link whose text described the action and for that link to be disabled when viewed by unassigned Testers. That said, the density of information in this area might justify a more concise interface like this.
More broadly, it seems to me that this table is trying to serve the needs of both Test Admins and Testers, and that as a result, it feels somewhat overcomplicated for each of them individually. I haven't been participating in design reviews, so I'm wondering if you folks have previously considered presenting different interfaces based on the role of the viewer.
Thanks for your feedback @jugglinmike. I think I got some things wrong here that I need to correct.
@isaacdurazo
Thank you for the proposal. I echo Mike's appreciation of detail. The details provide the food we need for discussion.
There is a lot to discuss. I want to first focus on some of the higher level concepts before we talk about how to refine the design.
Conceptually, the information presented on the "test plan management" page is about much more than test plans. There is a lot of data and information that is not part of test plans. In our discussions with Seth, I think I proposed we call it the "Data Management" page.
This table displays all Test Plans currently added to the ARIA AT App. From here, Admins can control their Phase from a high level, meaning a Test Plan and all its AT and browser combinations are moved from one phase to another at once.
Note that browsers are not part of test plans. See the definition of "test plan" in the glossary.
From the glossary:
A test plan includes all tests for a particular implementation of an ARIA design pattern. A plan covers all AT currently supported by the project, e.g., all tests for all AT for the grouped checkbox example.
There is one correction that I need to make in the above definition. In the future, we will have AT in the system that are not part of a specific test plan. A test plan has a list of "in-scope AT". Those are the AT for which commands are provided in the tests that are included in the plan.
The important thing to note here is that a test plan does not include any browser information. It does not include any data that results from running a test. The test plan is only the tests, assertions, and AT commands for a given test case. Basically, the test plan is the specification of AT behaviors for a given accessibility semantics usage pattern. To put it in wpt.fyi terms, it would be like the normative requirements provided by the HTML spec for a given element or attribute.
Think of the working mode as the equivalent of the W3C process for spec development. We just want stakeholders to agree on requirements. For aria-at, that means we are just trying to get stakeholders to agree on what the AT expectations are for a certain ARIA usage pattern. When they agree, the plan is recommended for use, and we can use it to test the in-scope AT with any browser.
My first observation about the table is that it should probably be titled "Test Plans" to indicate that it lists all the test plans in the system.
My second observation is that we need some additional information about the plans.
Before talking about the "status" column, we need to talk about the purpose of running tests as it relates to the working mode.
There is only one reason for running tests before a test plan is recommended: Proof the plan.
Imagine a world where we could write a test plan kind of like a novel. We would read and edit our draft until we like it. We'd give the candidate draft to the publisher who would twist it around until we secretly dislike him but agree he's wonderful. Then, the publisher would recommend it to the world. We could then use the recommended test plan to test any in-scope AT with any browser to produce awesome interoperability reports.
Unfortunately, that won't work in practice. We run the draft and candidate plans to generate test results because:
It's important to note though, that the run results (per the glossary) are not part of the plan. Per the working mode, we require a certain amount of "proofing" of a plan for it to move out of draft or for revisions of a candidate plan to be accepted. The "proofing" is simply run results that people agree are complete and accurate.
The remaining columns in the table, whether they are called status or something else, should give admins the info they need to know to make decisions about next steps for the plan, including whether to change its phase. We need to do a bit more thinking on this part of the design.
Note that important events can arise during the recommended phase, and the columns in this table should help us triage them as well.
In Draft, the requirement for moving to candidate is that every in-scope AT has a complete set of results for at least one browser. A "Complete" set of results is 2 or more testers executed the same test plan run and their results agree. So, for a draft plan, it will be important to see whether these requirements are met, and if not, why not.
I could be overlooking something here, but the benefits of moving functions for managing test plan run results from the test queue page to this data management page are not apparent to me. It feels like a lot of work, and I am not confident it would improve usability. For some of the admin functions, it seems like it would reduce usability because we'd be doing more page and context switching.
Another thought I have related to this part of the proposal is that we need to spec out the status values for test plan run results. I don't think there are so many. The states that I believe we have are:
I think Those are the only states.
Percent complete = number of tests with results from all assigned testers / number assigned testers * number of tests
When testing is 100% complete and there are 0 conflicts and 0 open issues, the results can be "Finalized" or "Published". I believe there is currently confusion around this state and it deserves more discussion. Recall that for a test plan to move from draft to candidate, the test admin is responsible for ensuring we have "complete" or "finalized" test results for at least one browser for each in-scope AT.
Hi folks,
here are the updated mockups and a description of the changes based on our last conversation about this issue. Please note that I'm describing the changes based on what's currently implemented on ARIA-AT app and not based on the last version of these mockups
@isaacdurazo Thanks for these updates! After an initial scan, the primary concern that stands out to me is how many items are being crammed into single tabular cells.
As you may be aware, screen readers provide commands to traverse tables by rows and columns, e.g. to move down a specific single column to consume information. This is already quite difficult in parts of the ARIA-AT app including the test queue, because of:
Additionally, screen readers will announce row/column headers when changing between relevant cells. The more information is placed in a row header cell, the harder the page is to use, because that information will be spoken each time the active row is changed. From this point of view, the most concerning change is in the Test Queue:
- Test Plan column:
- Move the "Open run as..", "Delete Test Results for...", and "Remove Test Plan" buttons under each Test Plan name in this column. These buttons used to be under Actions.
- Move the "Phase" label to be next to each Test Plan name under this column
This is a huge amount of information for a screen reader to speak when switching between rows of a table in the queue, which is an action that is frequently carried out. I would go as far as to say that it will make the table unusable, without disabling the header functionality built into the screen reader, meaning that no information about the plan will be spoken at all unless the user happens to be positioned in the first column.
Similar concerns are raised by:
Hi @mcking65, for Candidate Test Plans can we consider the mockup approved? For the test queue @jscholes raised a concern about the accessibility for screen reader. We can perhaps discuss this during our call on Wednesday as similar concerns appear for #648
Test Plan Management, Test Queue, and Candidate Test Plans Mockups
Test Plan Management - Text-version Mockup
From this new page, Admins can control all aspects of Test Plans, meaning some features have moved from other pages to this one.
Manage Assistive Technology Versions
This Disclosure component was previously displayed in the Test Queue. It's now been moved to this page.
Add Test Plan and Assistive Technology combinations
Previously displayed in the Test Queue as "Add Test Plans to the Test queue", this Disclosure component has now been moved to this page.
Status Summary table
This table displays all Test Plans currently added to the ARIA AT App. From here, Admins can control their Phase from a high level, meaning a Test Plan and all its AT and browser combinations are moved from one phase to another at once. The details of this table are these:
Assistive Technology Table
This table displays all Test Plans under a particular AT and the different Browsers in which these are being tested. The Test Plan Management page includes multiple Assistive Technology Tables, one for each Assistive Technology recognized by ARIA-AT.
button
but wanted to make it look less prominent) next to the date. The Publish date and Update buttons have been moved from the Test Queue to this page.Test Plan Management - Visual Mockup
Test Queue - Text-version Mockup
This page is now primarily for Testers, with all Admin actions moved to the Test Plan Management page. A few more changes have been made to improve the UX. Here are the details:
Test Queue - Visual Mockup
Candidate Test Plans - Text-version Mockup
This page hasn't changed much. Here are the details:
Candidate Test Plans - Visual Mockup
Afterthoughts
These new mockups represent major changes to the ARIA AT App and the Working mode. There are still some questions that remain unanswered that should be discussed. Here a few I was running into while I worked on these mockups with Seth last year:
What happens in the following scenario? I add Disclosure Nav Example with JAWS. It then moves from Draft to Candidate, then later I add Disclosure Nav Example with VO, which theoretically should start as a Draft. Would both Test Plans be in different phases? They can't. So in a way, the Test Plan review process should be like a train leaving the station. after the first group of ATs is published as Recommended, any additional ATs that we add should start as recommended too.
What are the minimum requirements to move a test from "draft to candidate"? Do we need to specify an X number of finished testing rounds with no conflicts?
What happens if we need to update a Test Plan that has been moved to recommended? Should it go back to Draft?
Similarly, what about the scenario where we might need to add more test results to a Test Plan that has moved to Candidate or Recommended?
There are probably more things I'm not considering, hence I think a broad discussion should be had about these mockups to see how we can address these questions and their impact.