An NMTOKEN based ARIA property is undefined if the ARIA attribute is not present, or is set to "" or "undefined"

Mozilla Bug 452388

This treeitem has aria-selected="true" and should get STATE_SELECTABLE. It should also get STATE_SELECTED.
This treeitem has aria-selected="false" and should get STATE_SELECTABLE.
This treeitem has aria-selected="" and should not get STATE_SELECTABLE.
This treeitem has aria-selected="undefined" and should not get STATE_SELECTABLE.
This treeitem has no aria-selected attribute and should not get STATE_SELECTABLE.
This menuitem has aria-checked="true" and should get STATE_CHECKABLE. It should also get STATE_checked.
This menuitem has aria-checked="false" and should get STATE_CHECKABLE.
This menuitem has aria-checked="" and should not get STATE_CHECKABLE.
This menuitem has aria-checked="undefined" and should not get STATE_CHECKABLE.
This menuitem has no aria-checked attribute and should not get STATE_CHECKABLE.
This checkbox has aria-checked="true" and should get STATE_CHECKABLE. It should also get STATE_checked.
This checkbox has aria-checked="false" and should get STATE_CHECKABLE.
This checkbox has aria-checked="" and should not get STATE_CHECKABLE.
This checkbox has aria-checked="undefined" and should not get STATE_CHECKABLE.
This checkbox has no aria-checked attribute and should not get STATE_CHECKABLE.
This button has aria-pressed="true" and should get ROLE_TOGGLE_BUTTON. It should also get STATE_PRESSED.
This button has aria-pressed="false" and should get ROLE_TOGGLE_BUTTON.
This button has aria-pressed="" and should not get ROLE_BUTTON.
This button has aria-pressed="undefined" and should not get ROLE_TOGGLE_BUTTON.
This button has no aria-pressed attribute and should not get ROLE_TOGGLE_BUTTON.