- From: Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no>
- Date: Mon, 09 Nov 2009 21:16:07 +0100
- To: Lars Gunther <gunther@keryx.se>
- CC: HTMLWG WG <public-html@w3.org>, public-html-request@w3.org, W3C WAI-XTECH <wai-xtech@w3.org>
Lars Gunther On 09-11-09 20.16: > 2009-11-08 03:41, Jonas Sicking skrev: >> The harm that I see is loosing the ability to have a clear message for >> what the right way to do things is. > > This was my fear as well when I tried to suggest a middle ground for > this issue. Since it was a awhile I'll repeat myself. > > <a role="button"> should be forbidden when hard-coded onto the page for > these reasons: > > 1. It is sloppy markup. Conformant HTML should be the best possible. If specifically role="button" should be forbidden, then the draft should give advice about what to do instead. Probably it should advice authors to use e.g. class="button" in combination with JavaScript, for setting the role. And probably the same for other role values. > 2. It is possibly confusing if JavaScript is turned off, since it will > not act as a button in that case. Right. > The validator's error message should be carefully worded to suggest that > authors instead of removing @role change the tag to <button> Thanks to Steven and Stephane's explanations, I'm however now skeptical about this part of your advice. If *certain* roles are only meant to work together with JavaScript/AJAX, then it sounds more correct to advice that role="button" only is valid together with JavaScript. Or else one could risk that some would use <button> when they should use <a>. Another way to solve the entire issue would be to specify that *user agents* should not respect certain @role combinations, except together with JavaScript. Thus, when JavaScript is turned off, certain roles should not be respected by user agents. That might in fact be the simplest - for authors. > @role="button" should, however, be allowed if the role is added using > JavaScript, and *the spec should say so*. Are user agents able to act differently based on how it is added? > Since validators do not pick up attributes set with client side scripts, > AFAIK, there will be no error message = no "penalty". One of Steven's issues was that some will validate the DOM. > In my estimation, this is not only a reasonable compromise, but the > overall best solution, all aspects considered. > > + > > YUI, JQuery, Prototype/Scriptaculous, Dojo can be evangelized into > setting @role dynamically (if that's not the case already) and have > their manuals suggest such usage as well. > > If they get it right, so will 95 % of all websites. -- leif halvard silli
Received on Monday, 9 November 2009 20:16:43 UTC