GNOME Bugzilla – Bug 570557
(ARIA) List items not presented
Last modified: 2009-03-05 17:51:39 UTC
1) Go to http://codetalks.org/source/enhanced-html-forms/list.html 2) Arrow down the list. Only the first item "dog" is presented.
Created attachment 129926 [details] [review] revision 1 Pylinted, regression tested, small patch, solves the problem.... But the changes are in find{Next,Previous}CaretInOrder so I'm asking for a review. Note that it's not just Down Arrow. If I right arrow, I can arrow through d-o-g, but then I loop back to the d rather than moving on to the next line. Will, if this looks sound to you, I'll create a new regression test before checking it in. Thanks!
This changes an area addressed by bug #490266 - Endless loop in navigating ARIA trees. So, if you can verify that this didn't regress that fix, I'm OK with making this change. Thanks!
Thanks Will. I can confirm what Scott pointed out in his opening report, namely: > A solution to the problem is to remove the isAriaWidget() test in "if text and > not self.isAriaWidget(obj):" at the top of findNextCaretInOrder(). :-) I wish I had thought to look through the history earlier as it might have saved me some time debugging... :-) Anyhoo.... As for this bit: > this causes the listbox http://www.mozilla.org/access/dhtml/listbox to assume > focus when navigating to it with the arrow keys. Yes it does, but I believe that might be an issue we want to handle elsewhere. I also think it's less of an issue than an endless loop (which this dog, cat, octopus bug is as well, should you attempt to down arrow past 'dog'). We have regression tests using the updated versions of the examples Scott lists in his report. I also manually tried to reproduce the endless loop from comment #1 and cannot -- with or without my patch. In addition, both with and without my patch, using Down Arrow just above the dojo tab container demos will cause the tab panel to assume focus just like the Moz listbox. So.... *I'm* leaning towards: 1. Stopping the endless loop(s) by removing the isAriaWidget() check. 2. Opening a new bug which says that we shouldn't allow the user to accidentally arrow into ARIA lists or tab panels. But I also see that code freeze is breathing down our necks and I haven't been to bed yet, so my head is not at its most clear. Therefore, with this fuller picture, what's your leaning? Thanks again!
(In reply to comment #3) > So.... *I'm* leaning towards: > > 1. Stopping the endless loop(s) by removing the isAriaWidget() check. > > 2. Opening a new bug which says that we shouldn't allow the user to > accidentally arrow into ARIA lists or tab panels. Sounds good. Commit and open a new bug. Thanks for your perseverence!
Thanks Will. The patch (along with a new regression test for this bug) have been committed to trunk. I've opened bug #574291 for the other issue.