Re: map content model not fixed in XHTML 1.0

Masayasu Ishikawa <mimasa@w3.org> wrote:

> At January FtF, we discussed the HTML 4.0 errata resolutions based on
> Shane's document, which included the issue of content model for MAP
> element [1].  As we accepted the change [2], the content model for
> MAP element has changed from 
> 
>   <!ELEMENT MAP - - ((%block;)+ | AREA+) -- client-side image map -->
> 
> to
> 
>   <!ELEMENT MAP - - ((%block;) | AREA)+ -- client-side image map -->
> 
> in HTML 4.01.  So far, so good.

Actually I think we need to clarify the following issue.

Here is a valid example of the client-side image map using MAP with A
elements, taken from HTML 4.01 Specification [7].

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
   <HEAD>
      <TITLE>The cool site!</TITLE>
   </HEAD>
   <BODY>
     <P><OBJECT data="navbar1.gif" type="image/gif" usemap="#map1">
     <MAP name="map1">
       <P>Navigate the site:
       <A href="guide.html" shape="rect" coords="0,0,118,28">Access
       Guide</a> |
       <A href="shortcut.html" shape="rect"
       coords="118,0,184,28">Go</A> |
       <A href="search.html" shape="circle"
       coords="184,200,60">Search</A> |
       <A href="top10.html" shape="poly"
       coords="276,0,276,28,100,200,50,50,276,0">Top Ten</A>
     </MAP>
     </OBJECT>
   </BODY>
</HTML>

But since the MAP content model in HTML 4.01 allows you to "mix"
block-level content *and* AREA elements, the following example is
also a valid example, at least in terms of DTD syntax.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
   <HEAD>
      <TITLE>The cool site!</TITLE>
   </HEAD>
   <BODY>
     <P><OBJECT data="navbar1.gif" type="image/gif" usemap="#map1">
     <MAP name="map1">
       <P>Navigate the site:
       <A href="guide.html" shape="rect" coords="0,0,118,28">Access
       Guide</a> |
       <A href="shortcut.html" shape="rect"
       coords="118,0,184,28">Go</A>
       <AREA href="search.html" shape="circle"
       coords="184,200,60" alt="Search">
       <AREA href="top10.html" shape="poly"
       coords="276,0,276,28,100,200,50,50,276,0" alt="Top Ten">
     </MAP>
     </OBJECT>
   </BODY>
</HTML>

Here, some shapes and coordinates are specified by A elements,
some are specified by AREA elements.  I guess most probably HTML 3.2
user agents will not be able to handle such image map correctly.

Do we really want to allow such markup?  Or, shall we add some note
that authors should fully specify shapes and coordinates with AREA
elements and duplicate them with A elements when they want to mix them?

> [1] http://spm.themacs.com/voyager/errata-1.0.mhtml#4.2.3.
> [2] http://www.w3.org/MarkUp/Group/minutes-990128.html#errata
> [3] http://www.w3.org/TR/1999/PR-xhtml1-19990824/DTD/strict.dtd
> [4] http://www.w3.org/TR/1999/PR-xhtml1-19990824/DTD/transitional.dtd
> [5] http://www.w3.org/TR/1999/PR-xhtml1-19990824/DTD/frameset.dtd
> [6] http://www.w3.org/MarkUp/Group/1999/WD-xhtml11-19990830/xhtml11_modules.html#a_module_Client-side_Image_Map

[7] http://www.w3.org/TR/1999/PR-html40-19990824/struct/objects.html#h-13.6.1.1

Regards,
-- 
Masayasu Ishikawa / mimasa@w3.org
W3C - World Wide Web Consortium

Received on Wednesday, 15 September 1999 10:19:14 UTC