Protections panel not accessible via the keyboard
Categories
(Firefox :: Site Identity, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: Jamie, Assigned: timhuang)
References
(Blocks 1 open bug)
Details
(Keywords: access, Whiteboard: [protection-report] [skyline])
Attachments
(3 files)
Impact: The Protections panel is completely inaccessible to keyboard only users (including screen reader users).
STR:
- Open a page where the Tracking Protection icon is displayed; e.g. twitter.com.
- Press control+l to focus the address bar.
- Press shift+tab to focus the identity icon.
- Press right arrow to focus the next button in that group.
- Expected: The Tracking Protection icon should get focus.
- Actual: Nothing happens.
The Tracking Protection icon (#tracking-protection-icon-animatable-image) needs a role="button" attribute, which exposes it correctly to accessibility clients and will also cause it to be picked up by ToolbarKeyboardNavigator. This should probably have a test either in browser/base/content/test/keyboard/browser_toolbarKeyNav.js or browser/base/content/test/siteIdentity/browser_identityBlock_focus.js.
Reporter | ||
Comment 1•7 months ago
|
||
Forgot to mention that the Tracking Protection icon also needs a label for accessibility. This could be done with aria-label if for some reason this should be accessibility only. However, I think this has a tooltip. If so, you could use tooltiptext instead of generating the tooltip dynamically, and tooltiptext would then get used for the a11y label.
Comment 2•7 months ago
|
||
Thank you for filing this. For now, this panel is not intended to be accessible - the click trigger only exists to allow dogfooding the design and UX. We will track this to make sure that the panel is accessible once it lands in its final form.
Updated•7 months ago
|
Updated•5 months ago
|
Assignee | ||
Updated•5 months ago
|
Assignee | ||
Comment 4•5 months ago
|
||
This patch fixes the issue that the keyboard navigation doesn't work for
the tracking protection icon.
Assignee | ||
Comment 5•5 months ago
|
||
We need to update the test since '#tracking-protection-icon-container'
is accessible before the '#identity-box'.
Depends on D39329
Assignee | ||
Comment 6•5 months ago
|
||
I will fix the keyboard navigation issue here and leave the tooltip and the label for accessibility in Bug 1567422.
Pushed by tihuang@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/45b9bfbc709b Part 1: Fix the keyboard navigation of the tracking protection icon. r=Jamie https://hg.mozilla.org/integration/autoland/rev/63e0cc8a35a8 Part 2: Update the test browser_toolbarKeyNav.js. r=johannh
Comment 8•4 months ago
|
||
Backed out 2 changesets (Bug 1552716) for failures on browser_multiselect_tabs_using_keyboard.js
Backout link: https://hg.mozilla.org/integration/autoland/rev/768d0733aed368f2c843bd1941ffed3beaedac7b
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=258809565&repo=autoland&lineNumber=2563
[task 2019-07-29T15:16:48.549Z] 15:16:48 INFO - TEST-START | browser/base/content/test/tabs/browser_multiselect_tabs_using_keyboard.js
[task 2019-07-29T15:18:18.561Z] 15:18:18 INFO - TEST-INFO | started process screentopng
[task 2019-07-29T15:18:19.167Z] 15:18:19 INFO - TEST-INFO | screentopng: exit 0
[task 2019-07-29T15:18:19.168Z] 15:18:19 INFO - Buffered messages logged at 15:16:48
[task 2019-07-29T15:18:19.169Z] 15:18:19 INFO - Entering test bound setup
[task 2019-07-29T15:18:19.169Z] 15:18:19 INFO - Console message: [JavaScript Error: "uncaught exception: Object" {file: "resource://testing-common/PromiseTestUtils.jsm" line: 112}]
[task 2019-07-29T15:18:19.170Z] 15:18:19 INFO - Leaving test bound setup
[task 2019-07-29T15:18:19.170Z] 15:18:19 INFO - Entering test bound changeSelectionUsingKeyboard
[task 2019-07-29T15:18:19.170Z] 15:18:19 INFO - Buffered messages logged at 15:16:51
[task 2019-07-29T15:18:19.170Z] 15:18:19 INFO - Move focus to location bar using the keyboard
[task 2019-07-29T15:18:19.171Z] 15:18:19 INFO - TEST-PASS | browser/base/content/test/tabs/browser_multiselect_tabs_using_keyboard.js | urlbar should be focused -
[task 2019-07-29T15:18:19.171Z] 15:18:19 INFO - Move focus to the selected tab using the keyboard
[task 2019-07-29T15:18:19.174Z] 15:18:19 INFO - Buffered messages finished
[task 2019-07-29T15:18:19.175Z] 15:18:19 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/tabs/browser_multiselect_tabs_using_keyboard.js | Test timed out -
[task 2019-07-29T15:18:19.177Z] 15:18:19 INFO - GECKO(2226) | MEMORY STAT | vsize 20975512MB | residentFast 1170MB
[task 2019-07-29T15:18:19.179Z] 15:18:19 INFO - TEST-OK | browser/base/content/test/tabs/browser_multiselect_tabs_using_keyboard.js | took 90080ms
[task 2019-07-29T15:18:19.180Z] 15:18:19 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-07-29T15:18:19.183Z] 15:18:19 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/tabs/browser_multiselect_tabs_using_keyboard.js | Found a tab after previous test timed out: http://mochi.test:8888/5 -
[task 2019-07-29T15:18:19.184Z] 15:18:19 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-07-29T15:18:19.186Z] 15:18:19 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/tabs/browser_multiselect_tabs_using_keyboard.js | Found a tab after previous test timed out: http://mochi.test:8888/4 -
[task 2019-07-29T15:18:19.187Z] 15:18:19 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-07-29T15:18:19.190Z] 15:18:19 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/tabs/browser_multiselect_tabs_using_keyboard.js | Found a tab after previous test timed out: http://mochi.test:8888/3 -
[task 2019-07-29T15:18:19.192Z] 15:18:19 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-07-29T15:18:19.193Z] 15:18:19 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/tabs/browser_multiselect_tabs_using_keyboard.js | Found a tab after previous test timed out: http://mochi.test:8888/2 -
[task 2019-07-29T15:18:19.195Z] 15:18:19 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-07-29T15:18:19.196Z] 15:18:19 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/tabs/browser_multiselect_tabs_using_keyboard.js | Found a tab after previous test timed out: http://mochi.test:8888/1 -
[task 2019-07-29T15:18:19.199Z] 15:18:19 INFO - checking window state
[task 2019-07-29T15:18:19.200Z] 15:18:19 INFO - GECKO(2226) | JavaScript error: resource://testing-common/PromiseTestUtils.jsm, line 112: uncaught exception: Object
[task 2019-07-29T15:18:19.202Z] 15:18:19 INFO - TEST-START | browser/base/content/test/tabs/browser_multiselect_tabs_using_selectedTabs.js
[task 2019-07-29T15:18:21.336Z] 15:18:21 INFO - GECKO(2226) | MEMORY STAT | vsize 20975511MB | residentFast 1184MB
[task 2019-07-29T15:18:21.337Z] 15:18:21 INFO - TEST-OK | browser/base/content/test/tabs/browser_multiselect_tabs_using_selectedTabs.js | took 2171ms
Comment 9•4 months ago
|
||
Another failure introduced with these changes:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=258809572&repo=autoland&lineNumber=2616
[task 2019-07-29T15:15:20.832Z] 15:15:20 INFO - TEST-START | browser/base/content/test/siteIdentity/browser_identityBlock_focus.js
[task 2019-07-29T15:16:50.847Z] 15:16:50 INFO - TEST-INFO | started process screentopng
[task 2019-07-29T15:16:51.516Z] 15:16:51 INFO - TEST-INFO | screentopng: exit 0
[task 2019-07-29T15:16:51.518Z] 15:16:51 INFO - Buffered messages logged at 15:15:20
[task 2019-07-29T15:16:51.519Z] 15:16:51 INFO - Entering test bound testWithoutNotifications
[task 2019-07-29T15:16:51.520Z] 15:16:51 INFO - Console message: [JavaScript Error: "uncaught exception: Object" {file: "resource://testing-common/PromiseTestUtils.jsm" line: 112}]
[task 2019-07-29T15:16:51.521Z] 15:16:51 INFO - Buffered messages logged at 15:15:21
[task 2019-07-29T15:16:51.522Z] 15:16:51 INFO - Console message: [JavaScript Warning: "Key event not available on some keyboard layouts: key=“r” modifiers=“accel,alt” id=“key_toggleReaderMode”" {file: "chrome://mochikit/content/tests/SimpleTest/EventUtils.js" line: 870}]
[task 2019-07-29T15:16:51.524Z] 15:16:51 INFO - Console message: [JavaScript Warning: "Key event not available on some keyboard layouts: key=“r” modifiers=“accel,alt” id=“key_quickRestart”" {file: "chrome://mochikit/content/tests/SimpleTest/EventUtils.js" line: 870}]
[task 2019-07-29T15:16:51.525Z] 15:16:51 INFO - Console message: [JavaScript Warning: "Key event not available on some keyboard layouts: key=“i” modifiers=“accel,alt,shift” id=“key_browserToolbox”" {file: "chrome://mochikit/content/tests/SimpleTest/EventUtils.js" line: 870}]
[task 2019-07-29T15:16:51.527Z] 15:16:51 INFO - TEST-PASS | browser/base/content/test/siteIdentity/browser_identityBlock_focus.js | urlbar should be focused -
[task 2019-07-29T15:16:51.528Z] 15:16:51 INFO - Buffered messages finished
[task 2019-07-29T15:16:51.529Z] 15:16:51 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/siteIdentity/browser_identityBlock_focus.js | Test timed out -
[task 2019-07-29T15:16:51.530Z] 15:16:51 INFO - GECKO(2494) | MEMORY STAT | vsize 20975197MB | residentFast 1171MB
[task 2019-07-29T15:16:51.536Z] 15:16:51 INFO - TEST-OK | browser/base/content/test/siteIdentity/browser_identityBlock_focus.js | took 90071ms
[task 2019-07-29T15:16:51.537Z] 15:16:51 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-07-29T15:16:51.538Z] 15:16:51 INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/siteIdentity/browser_identityBlock_focus.js | Found a tab after previous test timed out: https://example.com/ -
[task 2019-07-29T15:16:51.539Z] 15:16:51 INFO - checking window state
[task 2019-07-29T15:16:51.539Z] 15:16:51 INFO - GECKO(2494) | JavaScript error: resource://testing-common/PromiseTestUtils.jsm, line 112: uncaught exception: Object
Assignee | ||
Comment 10•4 months ago
|
||
Depends on D39330
Assignee | ||
Comment 11•4 months ago
|
||
Thanks, I updated tests, and here is the try.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=49fbfccbda62c9e75b1226fc64e69abae669da1c
Comment 12•4 months ago
|
||
Pushed by tihuang@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/327832d4b035 Part 1: Fix the keyboard navigation of the tracking protection icon. r=Jamie https://hg.mozilla.org/integration/autoland/rev/e8aef1c9d20c Part 2: Update the test browser_toolbarKeyNav.js. r=johannh https://hg.mozilla.org/integration/autoland/rev/c641e5c66a71 Part 3: Update more tests. r=johannh
Comment 13•4 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/327832d4b035
https://hg.mozilla.org/mozilla-central/rev/e8aef1c9d20c
https://hg.mozilla.org/mozilla-central/rev/c641e5c66a71
Updated•3 months ago
|
Comment 14•3 months ago
|
||
I have reproduced this bug with Nightly 68.0a1 (2019-05-19) on windows 10, 64 bit!
The fix is now verified on Latest beta 70.0b7
Build ID : 20190916074538
User Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0
[bugday-20190918]
Description
•