(Image)Maps in XHTML 2

Hi all,

Many web authors use image maps. But image maps are only presentational as
they link *different regions of a picture* to other ressources. So, they are
binded to the presentation of the picture. As presentational they shouldn't
be represented directly in XHTML 2.

Another disadvantage is that XHTML 2 is limited to *image* maps only, there
may (in future) be other forms of maps, like "sound maps", "3d image maps",
..., maybe even "xhtml document maps" or "smell maps".

Regions of a picture (or a sound, ...) should'nt be represented in XHTML,
they should be "selected" by URI fragment identifiers similar to xpath as
regions are *fragments* of a ressource.

By eliminating the representation of "picture regions" from XHTML 2, maps in
XHTML 2 can be extended (to sound maps, ...) and be changed in future
without changing XHTML 2 (or future versions).

Someone should publish a syntax for a fragment identifier for each group of
ressource, beginning with images, e.g.:

(see example in XHTML 2: 6.7. Image Map Attribute Collection)

... <p src="navbar1.png" type="image/png" usemap="#map1">
... <li href="guide.html" shape="rect" coords="0,0,118,28">


would be: navbar1.png#rect(0,0,118,28)

(other forms, selectors, ... can be easily added)


Now you could write the whole image map as:

...
<body>
     <p href="navbar1.png" type="image/png" rel="map">
         <nl>
           <label>Navigate the site:</label>
           <li href="guide.html" src="navbar1.png#rect(0,0,118,28)">
           Access Guide</li>
           <li href="shortcut.html" src="navbar1.png#rect(118,0,184,28)">
           Go</li>
           <li href="search.html" src="navbar1.png#circle(84,200,60)">
           Search</li>
           <li href="top10.html"
src="navbar1.png#poly(276,0,276,28,100,200,50,50,276,0)">
           Top Ten</li>
         </nl>
      </p>
   </body>
...


or (using xml:base) (in *some* cases [when using only "external" URIs] even
simpler):

...
<body>
     <p xml:base="navbar1.png" href="#" type="image/png" rel="map">
         <nl>
           <label>Navigate the site:</label>
           <li href="http://example.org/guide.html" src="#rect(0,0,118,28)">
           Access Guide</li>
           <li href="http://example.org/shortcut.html"
src="#rect(118,0,184,28)">
           Go</li>
           <li href="http://example.org/search.html"
src="#circle(84,200,60)">
           Search</li>
           <li href="http://example.org/top10.html"
src="#poly(276,0,276,28,100,200,50,50,276,0)">
           Top Ten</li>
         </nl>
      </p>
   </body>
...

I will send this mail to both www-html@w3.org and www-html-editor@w3.org as
it's a proposal for XHTML 2, but also needs discussion.


 Rafael Gieschke

Received on Wednesday, 21 May 2003 15:59:46 UTC