Questions arising from ARIA/HTML5 integration

What roles should I use for the following elements?

  <input type=date>
  <input type=time>
  <input type=datetime>
  <input type=datetime-local>
  <input type=month>
  <input type=week>
  <input type=color>
  <input type=file>
  <meter>
  <time>
  <keygen>
  <dl>/<dt>/<dd>
  <abbr>
  <ruby>/<rt>/<rp>
  <ins>/<del>
  <figure>/<legend>
  <iframe>/<embed>/<object>
  <video>
  <audio>
  <caption>
  <thead>/<tbody>/<tfoot>
  <fieldset>/<legend>
  <details>/<legend>

I'm assuming most elements, e.g. <p>, <em>, etc, should have no default 
role, and should instead rely on styling. Is that right?

I'm assuming elements that are display:none need no role as they are not 
in the rendering. Is that right? If so, is "aria-hidden" redundant with 
CSS? How should I integrate HTML's "hidden" attribute (which causes 
display:none to be implied) with "aria-hidden"?

What should I do regarding aria-owns/radiogroup for <input type=radio>?

How should I expose <th> elements that have scope=rowgroup or 
scope=colgroup?

How should I expose colspan="" and rowspan="" on table cells?

Should I make aria-haspopup="" be true when an element has a 
contextmenu="" attribute, or is aria-haspopup="" only intended for 
indicating the availability of non-native context menus?

For an <input type=number>, which I presume should have role=spinbutton, I 
have a situation in which the value (for aria-valuenow) might not be 
known. However, it appears there is a conflict between the rules for 
role=spinbutton (which require an aria-valuenow) and the rules for 
aria-valuenow (which say it should be omitted in this case). What value 
should I give the aria-valuenow property in this case?

How should I integrate "aria-autocomplete" with the various autocompletion 
mechanisms in HTML5, specifically list="" on <input>, autocomplete="" on 
<form> and various controls, and UA-specific behaviour on all editable 
controls?

Does the presence of <thead>, <tbody>, and <tfoot> between elements with 
role=row and role=gridcell have an effect on the ARIA conformance of a 
document, given that it means the element with role=gridcell is not a 
child of the element with role=row? If so, how should I address this 
issue?

How should I integrate "aria-grabbed" with the drag and drop API?

Should the drag and drop API's dropEffect attribute affect the 
"aria-dropeffect" state? If so, how?

Should I expose the multitude of labels in HTML (title="" everywhere, 
<option label="">, etc) using "aria-label"?

How should I make "aria-labelledby" refer to elements that have no IDs, as 
in the following case?:

   <label>Name: <input name=fn></label>

It seems that in this case I need to imply an "aria-labelledby" on the 
<input> to point to the <label> but I don't see how to do it since there's 
no ID on the <label>.

How should I expose the placeholder="" attribute on <input>? Should I map 
it to "aria-label"? What if there is a placeholder and an explicit 
<label>; should I give both?

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Saturday, 22 August 2009 01:04:15 UTC