OLD TODO (most of these are done)

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

OLD TODO (in process to port this to Jira)

To ensure we're compatible with Win7, we should use the Windows Desktop documentation in MSDN and check if interfaces that we use are supported on Win7.