Accessibility/DOMTreeMapping: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 43: | Line 43: | ||
==Algorithms== | ==Algorithms== | ||
===Content insertion=== | |||
Each accessible is responsible for their children. | |||
#How to find insertion point of the inserted subtree (DOM tree and accessible tree ordering is different) | |||
#How to find adopted DOM nodes in the inserted subtree (DOM nodes adoption) | |||
===Tree creation=== | |||
Fire related events like menupopup_start/alert | |||
===Content removal=== | |||
#Traverse whole removed subtree to find adopted case? Should they have own mechanism to handle adopted things? | |||
#Find root accessibles within removed subtree, unattach from tree, and shutdown (don't rely on events in this). Fire related events like menupopup_end, alert, hide, reorder events. | |||
===DOM point to text offset=== | |||
How we should proceed the case of adopted children and changed order? |
Revision as of 08:37, 28 October 2011
What is this
This document describes the mapping between DOM and accessibles trees.
Current state
Existing problems are:
- Tree update bugs
- imagemap
- listbox
- Unoptimal tree update.
Details
What we need that for?
The mapping of DOM tree to accessible tree is performed for following proposes:
- content insertion
- find insertion point
- traverse extended DOM tree
- content removal
- find removal point or find removed accessible
- DOM point to offset
- convert DOM selection into accessible text selection and caret
Accessible tree
Accessible object manages its children. There are several types of accessibles:
- Extended DOM tree traversal
- Not based on DOM tree traversal
- outerdoc accessible
- leaf accessibles
- HTML combobox (combobox list accessible)
- XUL trees
- DOM nodes adoption
- imagemap
- HTML selects, get accessible from optgroups
- change insertion point relative DOM tree order
- HTML table moves HTML caption
- Based on DOM tree traversal and own accessible
- listitem (listbullet and listitem content)
Notifications
- standard notifications (standard processing)
- XUL menu notifications (standard processing)
- XUL listbox notifications (needs to implement)
- XUL tree notifications (processed by XUL tree accessible)
Algorithms
Content insertion
Each accessible is responsible for their children.
- How to find insertion point of the inserted subtree (DOM tree and accessible tree ordering is different)
- How to find adopted DOM nodes in the inserted subtree (DOM nodes adoption)
Tree creation
Fire related events like menupopup_start/alert
Content removal
- Traverse whole removed subtree to find adopted case? Should they have own mechanism to handle adopted things?
- Find root accessibles within removed subtree, unattach from tree, and shutdown (don't rely on events in this). Fire related events like menupopup_end, alert, hide, reorder events.
DOM point to text offset
How we should proceed the case of adopted children and changed order?