Opened 11 years ago
Closed 11 years ago
#11125 closed Bug (fixed)
AVT: When a menu is open and focus is on a menu item in that open menu, pressing Up or Down Arrow keys cycle focus through the items in that menu
Reported by: | Satya Minnekanti | Owned by: | Frederico Caldeira Knabben |
---|---|---|---|
Priority: | Normal | Milestone: | CKEditor 4.3.1 |
Component: | General | Version: | |
Keywords: | IBM | Cc: | Damian, Teresa Monahan, Irina |
Description
To reproduce the defect:
- Open any CK Sample, keep cursor in editor body.
- Press Alt + F10 to navigate in to toolbar.
- Navigate to Spell Check As You Type button menu.
- Press Enter to open the menu.
- Keep Pressing Down Arrow key until you reach Check Spelling Option
- Press Down arrow key one more time
Expected Result: Pressing Down Arrow key will cycle through the menu & focus moves to first option in the menu(which is Enable SCAYT)
Actual Result: Nothing happens & focus stays on last option in the menu. This is a violation of Accessibility Checkpoint 2.1a & 4.1b
Same issue happens when Navigating options in main Context Menu & sub-menus
Look at the following link for wai-aria authoring practices for button menu & keyboard interactions for menu http://www.w3.org/TR/wai-aria-practices/#menu
Change History (10)
comment:1 Changed 11 years ago by
Status: | new → confirmed |
---|
comment:2 Changed 11 years ago by
Owner: | set to Marek Lewandowski |
---|---|
Status: | confirmed → assigned |
comment:3 Changed 11 years ago by
Status: | assigned → review |
---|
comment:4 Changed 11 years ago by
Owner: | changed from Marek Lewandowski to Frederico Caldeira Knabben |
---|
Sent a simpler solution to t/11125c.
comment:5 Changed 11 years ago by
Status: | review → review_failed |
---|
Failing case:
- Move focus to "Styles" combo.
- Down arrow (compo opens).
- Down arrow (first item is selected).
- Up arrow.
Expected result: Focus moved to the last item of the combo.
Actual result: Nothing happens, the first item remains focused.
Notes:
- Skip 3. and the thing works as expected.
- It works for other combos without any limitations so the failing case is styles-specific.
Implementation concerns:
arguments.callee
is evil and no longer supported in ES5. We should really avoid it. Alternatively:
- Named function expression:
onKeyDown: function onKeyDown( keystroke, noCycle ) { ... return onKeyDown.call( this, keystroke, 1 ); ... }
- Or even simpler, with
this
context since the code is a part of theprototype
:return this.onKeyDown( keystroke, 1 );
comment:6 Changed 11 years ago by
Owner: | changed from Frederico Caldeira Knabben to Olek Nowodziński |
---|---|
Status: | review_failed → assigned |
comment:7 Changed 11 years ago by
Status: | assigned → review |
---|
Pushed two commits to the branch:
- Got rid of
arguments.callee
. - Fixed failing case.
comment:8 Changed 11 years ago by
Owner: | changed from Olek Nowodziński to Frederico Caldeira Knabben |
---|
Pushed still another small correction to it.
comment:9 Changed 11 years ago by
Status: | review → review_passed |
---|
comment:10 Changed 11 years ago by
Milestone: | → CKEditor 4.3.1 |
---|---|
Resolution: | → fixed |
Status: | review_passed → closed |
Fixed with git:6378c87.
Yes you are right aria says that down/up arrow should cycle through menu. It has never worked that way from the very beginning but I'm setting start version as 4.0 since it is going to be in 4.x.