AOM (Accessibility Object Model) is a JavaScript API that allows for modifying an accessibility tree like DOM. In this project, AOM phase 1 & 2 is implemented.

phase 1

The accessibleNode property is added to DOM Element. The properties of AccessibleNode correspond to ARIA attributes one-to-one, and web browsers can modify accessibility tree via this property. Note that if both an AccessibileNode property and its corresponding ARIA attribute are present, the AccessibleNode property overrides the ARIA attribute.

phase 2

AccessibleNode interface is derived from EventTarget so that accessibility input events and assistive actions become able to be processed via AccessibleNode. This enables web developers to check whether users are using an assistive technology or not, and this may leads to discrimination against some users. So, web browsers should ask users for permission of listening for accessiblity events before propagating those events to AccessibleNodes.



Tokio Kajitsuka


  • Alexander Surkov