- Loading...
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
alternateText
Add it to Canvas, ImageView, and Labeled (Label, Button, Cells, etc)
As a rule: any place that answers TITLE should offer alternateText.
- 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: alternateText() 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
Other Option: Move Label#labelFor up to Node
*Current resolution is to take no action. *
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.
*No conclusion reached.*
getAccessible() & Accessible
Probably remove the method from Node and Accessible class from the API.
*yes to remove getAccessible() and Accessible()*
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#accessibleGetAttribute()
* node#getAttribute() - break the rule (such as user data)
* node#queryAttribute()
* node#valueForAttribute()
* node#namedAttribute()
* Current plan is to use getAttribute(), executeAction(), sendNotification() *
Yes: breaking the rule for getAttribute()
Use Jira Search
...