- From: Leif Halvard Silli <lhs@malform.no>
- Date: Thu, 16 Jul 2009 05:02:30 +0200
- To: HTMLWG <public-html@w3.org>
- CC: scampa.giovanni@gmail.com
<a coords=""> was apparently dropped in 2005 [1]. Now, a bug report
has been filed to get <a coords=""> added to HTML 5 again. [2]
A. The debate in the WHATwg group in 2005 acknowledged that both Opera
and Firefox supports <a coords=""> and that it, thus, meets the CR
criteria. [3] But the argument against keeping <a coords=""> was lack of
support in IE6 and little use as well (due to IE6, we may assume).
However, a few things happened since April 2005. E.g. both IE7 and IE8
have been released.
B. IE8 has got proper support for <object data="image">. Thus, with IE8,
Anne in theory has a reason to support <a coords="">, so he can do this[4]:
<object data="foo" usemap="#foo">
<map id="foo">
<a coords="..." href="...">...</a>
</map></object>
(Safari doesn't seem to support image maps with the <object>, though
... - another of its many OBJECT anomalies ...)
C. Unfortunately, IE8 still does not support <a coords="">. So, for IE8
support, one must still use the workaround that Ian proposed for IE6
(and which works even better with IE8!) - namely, to use both elements
simultaneously: [5]
<map id="foo">
<area coords="..." href="..."><a href="...">...</a>
</map>
D. There is a problem with this workaround, though: While the exact
construct above works fine, it actually stops working in Firefox if you
place the <area> /after/ the <a> element. This is a bug/fact/issue that
is difficult to communicate or understand. So this doesn't work in Firefox:
<map id="foo">
<a href="...">...</a><area coords="..." href="...">
</map>
(Firefox' problem seems to be that it sees <area> as child of <a>,
even if it is its sibling. We can take advantage of this fact and
actually _permit_ <area> as child of <a coords=""> - see below.)
E. Another problem with the same workaround is that it doesn't allow you
to drop the @alt attribute of the <area> element - an empty or
non-empty @alt attribute must be offered in order to be able to produce
valid HTML code.
F. PROPOSAL
If we allow <area> as child of <a coords="">,
<map id="foo">
<a coords="..." href="..."><area coords="..." href="..."> ...</a>
</map>
then we have a solution which is
- Firefox compatible.
- easier to communicate
- in line with the HTML 5 pattern to allow <a> around almost any
element
- a logical solution to the @alt attribute problem: when <area>
is kept inside <a coords="">, then one should be permitted to drop the
@alt attribute.
- a transition construct towards the goal that _all_ UAs support <a
coords=""> - any UA that understand <a coords=""> should ignore the
nested <area> element (as both Opera and Firefox do).
- "a better design because it has automatic full fallback" -
without the use of @alt attribute. [6]
[1]
http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2005-April/003508.html
[2] http://www.w3.org/Bugs/Public/show_bug.cgi?id=7076
[3]
http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2005-April/003513.html
[4]
http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2005-April/003510.html
[5]
http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2005-April/003514.html
[6]
http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2005-April/003522.html
--
leif halvard silli
Received on Thursday, 16 July 2009 03:03:11 UTC