Summary: | Support tabindex on all elements | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | Aaron Leventhal <aaronleventhal> |
Component: | khtml | Assignee: | Konqueror Developers <konq-bugs> |
Status: | REPORTED --- | ||
Severity: | wishlist | CC: | maksim |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Other | ||
Latest Commit: | Version Fixed In: |
Description
Aaron Leventhal
2006-02-08 04:04:11 UTC
Thanks for the info (plus it explains what people may expect from tabIndex = -1 -- no, I didn't report that bug, silly script put me as reporter because I handled it). I think we actually have most of the bits for supporting this --- I might just need to, well, add a single if to our isFocusable() method to get things to be tabable. Though tabIndex = -1 may take more work. I think the only difficult part here is about cancelling the key event --- the code for mapping from Qt events to/from DOM events is quite subtle. And, uhm, I think we implemented the keypress cancellation to match mozilla! Does isFocusable let you know if something is tabbable? isTabbable should be a subset of the items which are focusable. For example, an item in a list is focusable but not tabbable. That often goes for children in complex container widgets. Sort of, there is isTabFocusable, and isMouseFocusable, but some code just uses the generic isFocusable (which ought to be protected, as it's only meant to be a default for both). And the tabIndex handling code looks a bit iffy/I've seen it do some funny things. So will need some cleanup/audit first. Git commit 8fdb65112cb87f07d25433bcfe5a6c9913984277 by Maks Orlovich. Committed on 08/05/2011 at 22:12. Pushed by orlovich into branch 'master'. Handle tabIndex every where, as per ARIA CCBUG: 121572 CCBUG: 158857 M +6 -19 khtml/ecma/kjs_html.cpp M +9 -10 khtml/ecma/kjs_html.h M +4 -2 khtml/html/html_baseimpl.cpp M +1 -1 khtml/html/html_baseimpl.h M +4 -2 khtml/html/html_elementimpl.cpp M +14 -1 khtml/html/html_formimpl.cpp M +2 -4 khtml/html/html_formimpl.h M +6 -0 khtml/html/html_inlineimpl.cpp M +1 -1 khtml/html/html_inlineimpl.h M +5 -25 khtml/svg/SVGAElement.cpp M +1 -3 khtml/svg/SVGAElement.h M +28 -3 khtml/xml/dom_elementimpl.cpp M +4 -2 khtml/xml/dom_elementimpl.h M +13 -3 khtml/xml/dom_nodeimpl.h http://commits.kde.org/kdelibs/8fdb65112cb87f07d25433bcfe5a6c9913984277 |