Events
To Node and Scene
For GetAttribute and ExecuteAction
* Internally use events to connect Node#accGetAttribute and Node#accExecuteAction
* Allows run before and after default handler
* Add default handlers in the constructor to ensure event order
alternativeText
Add it to Canvas and ImageView
Maybe add it to Labeled (Label, Button, Cells, etc)
- Pro: easy to provide a more descriptive text than what is in textProperty.
- Con: not sure that is common case
- Con: that can be done using the event
- Con: can be added later
Priority: alternativeText() has the highest priority of all (beats, text and promtText).
Note regarding LABELED_BY: The string obtained from TITLE and the string obtained LABELED_BY should co-exist, both are read out. Thus there is no priority order between the two.
Note: adding a alternativeText() for Labeled is not bad, by maybe unnecessary.
labeledBy vs labelFor
The accessibility attributed is called LABELED_BY, the property in Label is called labelFor.
currently LABELED_BY is implemented using Label#labelFor in Node using accessor pattern.
Adding a labeledBy in Node:
- Easy to set any Node as a label to any node
- Confuses/Conflicts the with Label#labelFor
Not adding a labeledBy in Node:
- Only Label can easily be used as label
- Use the event to any node as label
Virtualization
Pages in the pagination. -> Probably Yes
Tabs in the tab pane. -> Probably yes
Children in the parent. -> Probably not, to the best of my investigation, Mac for example, insists on getting the whole NSArray in AXChildren.
getAccessible() & Accessible
Probably remove the method from Node and Accessible class from the API.
Method names
node#accGetAttribute
node#accExecuteAction
node#accSendNotification
The first two are the default event handlers for GetAttribute and ExecuteAction respectively.
Subclasses should always override the method (instead of installing their event handler), this helps to keep the order handlers are called predicable.
Better names ?
node#accGetAttribute -> node#accessibilityGetAttribute() - Too long ?
node#accGetAttribute -> node#GetAttribute() - Not allowed, only properties can start with “get”
Use Jira Search
OLD TODO (in process to port this to Jira)
...