Accommodate accessibility with edge gestures

RESOLVED FIXED

Status

RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: eeejay, Assigned: eeejay)

Tracking

({access})

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [b2ga11y p=1])

Attachments

(1 attachment)

(Assignee)

Description

4 years ago
To get edge gestures working well with the screen reader we must do two things:
  1. disable the edge regions with pointer-events: none when the screen reader is enabled. The edge regions interfere with explore by touch, and don't have any immediate value for the screen reader.

  2. have EdgeSwipeDetector listen for custom events in lieu of actual swipes. This will allow us to initiate swipes from the screen reader. The screen reader does its own gesture detection, we will probably map 2 finger edge swipes for this functionality.
(Assignee)

Updated

4 years ago
Blocks: 1050383
(Assignee)

Updated

4 years ago
Assignee: nobody → eitan
(Assignee)

Comment 1

4 years ago
Created attachment 8473783 [details] [review]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/22934

This patch does a few things:
1. Hide gesture regions when screen reader is enabled.
2. Introduce autoSwipe to edge gesture detector for us to use via screen reader.
3. Listen for accessibility-control events to perform edge gesture functions.
4. Remove role of button from grippy.
5. Add role of dialog to utility tray notifications area.
6. Rename accessfu-output to accessitibility-output (there is already an r+ followup in bug 1052054).
Attachment #8473783 - Flags: review?(alive)
Comment on attachment 8473783 [details] [review]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/22934

I think Etienne would like to see the edge swipe part, but before that I think we should decouple accessibility and utilityTray/edgeSwipeDetector.
Attachment #8473783 - Flags: review?(alive) → feedback?(etienne)
(Assignee)

Comment 3

4 years ago
Thanks for the feedback. I removed references from accessibility.js of EdgeSwipeDetector and UtilityTray.
Comment on attachment 8473783 [details] [review]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/22934

A few comments on github, but this is really cool! I'm glad we're doing it.
Attachment #8473783 - Flags: feedback?(etienne)
(Assignee)

Comment 5

4 years ago
Comment on attachment 8473783 [details] [review]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/22934

Fixed all the feedback. Thanks, Etienne!

I am flagging you for review, since you had the most opinions..
Attachment #8473783 - Flags: review?(etienne)
Comment on attachment 8473783 [details] [review]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/22934

A few small comments on github, but apart from that the only thing missing is tests :)

For the EdgeSwipeDetector we should dispatch fake mozChromeEvent (inspiration available in statusbar_test.js) and assert that the correct calls are made on the SheetsTransition/StackManager modules (they're already mocked in this suite).

For the UtilityTray: fake mozChromeEvent and asserts on |UtilityTray.shown|

Cheers!
Attachment #8473783 - Flags: review?(etienne)
(Assignee)

Comment 7

4 years ago
Comment on attachment 8473783 [details] [review]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/22934

Thanks for all the input!

Fixed nits, added unit tests.
Attachment #8473783 - Flags: review?(etienne)
Comment on attachment 8473783 [details] [review]
Link to Github pull-request: https://github.com/mozilla-b2g/gaia/pull/22934

Thanks for the tests!
r=me with the last comments addressed (including a small one from the last round ;).
Attachment #8473783 - Flags: review?(etienne) → review+
(Assignee)

Comment 9

4 years ago
https://github.com/mozilla-b2g/gaia/commit/a91e3021cd8f6f9d02aac7b6ae3c697261491a32
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.