votingworks / bmd

GNU General Public License v3.0
13 stars 7 forks source link

Requested Accessibility Specs for Xbox Adaptive Controller #146

Closed suzannechapman closed 5 years ago

suzannechapman commented 5 years ago

Requested Accessibility Specs for Xbox Adaptive Controller

Let me know if there are technical complications with this approach.

Goals

Use Cases

This approach is aimed to satisfy 2 use cases without having different mappings for each:

  1. Blind, low vision, or voters who cannot read or reach the touch screen, but with dexterity to use multiple buttons
  2. Dual switch users with limited dexterity only able to use A & B

Controller Mappings

Button Function Details
A Trigger/Click 1. Selects or unselects candidate or voting option
2. Activates a button
B Navigate Forward Moves highlight to the next element in the same sequence as the D-pad down
D-pad up/down Navigate Forward
Navigate Backward
1. On a candidate contest, cycles through: Contest title > Selections in order > Next (etc) button > Back button > Top menu items.
2. On a question contest, cycles through: Contest title > Question text > Selections in order > Next (etc) button > Back button > Top menu items.
3. On a write-in screen, cycles through: Letters/special chars in alpha order > Buttons at bottom > Top menu items.
4. On the review screen, cycles through: Contests (change buttons) > Continue to print button > Top menu items. *) For long lists, down will just move to next candidate (no need to interact with the scroll down button) and ideally, visual display will also scroll to show that candidate.
D-pad left/right move forward or back between contests or other pages 1. Moves forward or back to the next contest or other page including review, interstitials, and instructions.
2. On overvote alert screen: D-pad up/down to focus on buttons then select.
Menu jump to first button on top menu bar Move focus to the first top menu option on that page (user would then use B or D-pad right to navigate through them) (Note: this essentially treats the top nav as a virtual dialog or menu)

When entering a screen, focus starts on the contest title (not the top navigation menu).

TBD next phase

XAC button names

image

beausmith commented 5 years ago

@suzannechapman - Thank you for this definition. This mapping is aligned with other mappings I've recently seen. We'll dig in and reply here with comments as necessary.

beausmith commented 5 years ago

@suzannechapman - Further review…

Top-level thought: We really need to get direct input on this thread from a few blind or otherwise disabled citizens to get their feedback.

A, B, D-pad up, D-pad down, and Menu Controller Mappings

These all seem to align with the common navigation controls of the ChromeVox screen reader.

For the Menu button, the first button visually will be the Language or Settings button. In the code, the first button is the Review button, from which the Navigate Forward action would take the voter to the Language or Settings button. We will need to clarify this.

D-pad left/right Controller Mappings

I'm a little concerned about mapping press of the left/right buttons to actions which are "Trigger/Click" actions rather than "Navigate" actions, which they are commonly used for and are using for the up/down buttons.

Using these buttons to take the voter to previous page and next page seems simple, there are edge cases which must be documented.

Here are three off the top of my head, but there may be more:

Until this is very clear and obvious, I might suggest that we hold off on an implementation which is contextual.

On/Off, View, and Profile Controller Mappings

Because these buttons are not currently mapped to something, what should happen if they are pressed?

Is there a need to turn the device off?

Could the Profile button be mapped to a "Navigate Back" action, similar to how the B button is mapped to "Navigate Forward"?

Could the View button could be mapped to a "Go to Review Screen" action?

General Feedback

Integrating the XAC is a project goal. We should implement and test it with no vision and low vision voters.

I am concerned that a blind person will not be able to walk up to the XAC and be able to figure it out completely unassisted due to the the XAC controls not being fully distinguishable by both shape and color.

We should be clear that the XAC does not strictly meet the VVSG guidelines as well as other keypads which have been developed specifically for other voting machines.

VVSG 1.1 / 3.3.2 Enhanced visual interfaces

Groups of buttons and controls which perform different functions on the Acc-VS shall be distinguishable by both shape and color. This applies to buttons and controls implemented either "on-screen" or in hardware. This requirement does not apply to sizeable groups of keys in wide use by individuals with disabilities, such as a full alphabetic keyboard when used for purposes other than basic navigation and selection (e.g. entering a write-in candidate name).

Discussion: The redundant cues assist those with low vision. They also help individuals who may have difficulty reading the text on the screen, those who are blind but have some residual vision, and those who use the controls on an Acc-VS because of limited dexterity. While this requirement is primarily focused on those with low vision, a feature intended primarily to address one kind of disability may very well assist voters with other kinds8 . The TRACE Center’s EZ Access design is an example of button functions distinguishable by both shape and color: http://trace.wisc.edu/ez/

Here are the devices being referred to in the "discussion" portion:

image

image

beausmith commented 5 years ago

Fail. Sorry, mis-clicked the close action. D'oh!

suzannechapman commented 5 years ago

I should have included a recap of discussions around the larger goals here.

1) Yes, our plan is to test everything with a wide range of users with different abilities -- once we have a "starter" or minimal set of interactions mapped to the XAC.

2) The "starter" approach is what's described here and isn't meant to be exhaustive of every aspect of what will come next.

3) Given that, are there parts of your feedback you think we should address for this "starter" phase?

benadida commented 5 years ago

I know there are some bugs filed against this, so we'll leave those open and close this one since the crux of this work is now merged in #148