Confirmed users
1,396
edits
| Line 28: | Line 28: | ||
Here there is conflict since input isn't disabled and therefore its native accessible object shouldn't have disabled state. But since aria-disabled is used then result accessible object should expose disabled state. | Here there is conflict since input isn't disabled and therefore its native accessible object shouldn't have disabled state. But since aria-disabled is used then result accessible object should expose disabled state. | ||
== | ==Incompatible roles== | ||
When ARIA role is incompatible with role coming from native markup then user agent should create generic accessible object. However the accesible object should reflect any general rules peculiar to all elements from native markup. For example, | |||
<code><pre> | |||
<a role="button" title="it's a button">button</a> | |||
</pre></code> | |||
Here @title attribute is peculiar to all elements of HTML document and it should be mapped to accessibility name since ARIA doesn't override it. On another hand user agent shouldn't create specific accessible for HTML a, for example, traversed and etc states specific for link accessibles shouldn't be exposed. | |||
Let's consider an example: | Let's consider an example: | ||
<code> | <code><pre> | ||
<table role="label"> | <table role="label"> | ||
<tr> | <tr> | ||
| Line 38: | Line 46: | ||
</tr> | </tr> | ||
</table> | </table> | ||
</code> | </pre></code> | ||
In this case ARIA role="label" placed on HTML table should force user agent to not create specific accessible objects for neither HTML table nor its descendants, for example, these objects shouldn't have table, row or cell roles and shouldn't implement any interfaces specific for tables (like IAccessibleTable2 or IAccessibleTableCell in the case of IAccessible2 API). | |||