This utility parses the ARIA specification and generates a Javascript Object representing the information for the role design patterns, and information on the valid properties, states and values defined in the specification. The object created is available as a JSON object or as a Javascript include file. It also generates two files that separate the properties and state information from the role design patterns issues.
In the ARIA spec there are special case for the following roles:
Role | Context | Objects created |
---|---|---|
separator |
tabindex | When the separator role is focusable (e.g. tabindex value) and the separator is considered a widget. This is represented by including a 'separatorFocusable'. Focusable separators are sometimes commonly referred to as a splitter widget and used for adjusting the size of window. |
row |
table , grid and treegrid |
There are different properties associated with the context of table , grid and treegrid roles for the row role. Creates a row , rowGrid and rowTreegrid objects to support the differences. |
These steps assume you have both git
and node.js
installed on your computer.
git clone git@github.com:opena11y/aria-to-code.git
npm install
npm run build
The following four files are created in the releases
directory.
File Name | Format | Role Info | Prop. and State Info |
---|---|---|---|
gen-aria-role-design-patterns-{ver}.js | JS Module | Yes | no |
gen-aria-info-{ver}.json | JSON Object | Yes | Yes |
gen-aria-info-{ver}.js | JS Module | Yes | Yes |
gen-aria-property-data-types-{ver}.js. | JS Module | no | Yes |
- gen-aria-role-design-patterns-1.2.js
- gen-aria-info-1.2.json
- gen-aria-info-1.2.js
- gen-aria-property-data-types-1.2.js
- gen-aria-role-design-patterns-1.3.js
- gen-aria-info-1.3.json
- gen-aria-info-1.3.js
- gen-aria-property-data-types-1.3.js
- Support for
role
role in the context of thetable
,grid
andtreegrid
roles - Added support for ARIA versions
- Support for ARIA 1.3 Spec