Questioning MAP (was RE: How'd they do that.)

Joshua Sean Bell (jsbell@acs.ucalgary.ca)
Mon, 11 Dec 95 23:49:48 MST


Message-Id: <9512120649.AA107828@acs6.acs.ucalgary.ca>
Subject: Questioning MAP (was RE: How'd they do that.)
To: www-html@w3.org
Date: Mon, 11 Dec 95 23:49:48 MST
From: "Joshua Sean Bell" <jsbell@acs.ucalgary.ca>
In-Reply-To: <c=US%a=_%p=msft%l=RED-72-MSG951211220214SG007B00@red-02-imc.itg.microsoft.com>; from "Thomas Reardon" at Dec 11, 95 10:02 pm

> > <a href="front-door.map"><img border=0 width=623 height=339 
> > src="img/front-door.gif" USEMAP="#map4" ISMAP></a>
> > <i>&#169; 1995 Microsoft Corporation</i>
> > 
> > <map name="map4">
> > <area shape="rect" coords="116,0,350,115" href="intro1.html">
> > <area shape="rect" coords="1,113,243,234" href="surfing1.html">
> > <area shape="rect" coords="350,115,585,231" href="advanced.html">
> > <area shape="rect" coords="468,233,587,339" href="menu.html">
> > </map>

It's a bit disturbing that this example doesn't provide any ALT text for
the AREA tags. According to many stats postings, Lynx is still the
second most popular browser (behind Netscape).

Has there been any discussion about making AREA a non-nesting container,
thus allowing rich-text markup, like the following?

<IMG SRC=blah USEMAP="#map1">
<MAP NAME="map1">
<AREA HREF="foo">The first option is <em>foo</em><!-- optional /AREA here -->
<AREA HREF="bar">The <em>second</em> option is bar<!-- optional /AREA here -->
</MAP>

While this is still not as nice as FIG-style client side imagemapping,
it's a good deal more expressive than ALT text, which doesn't allow rich
markup. This is backwards compatible with existing use of <MAP>, but
doesn't degrade gracefully on non-MAP aware browsers (as FIG
degrades).

However, support for this sort of thing (basically inlining the MAP
block and treating AREA as an alias for A) should not be terribly
difficult to add.

I would prefer to see this sort of construct:

<MAP>
	<IMG>
	<A SHAPE=...> rich markup </A>
	<A SHAPE=...> rich markup </A>
	<A SHAPE=...> rich markup </A>
</MAP>

With <IMG> being just an <IMG> or <A><IMG ISMAP></A>.

1. The browser code should be nearly identical. Netscape's infamous
   comments about FIG being too hard to code can't be repeated here.

2. You can't reuse maps. Bummer, but you should have SSI's or
   macro replacement for generating the pages. Or (gasp!) cut & paste.

3. This degrades beautifully on browsers which can't handle MAP, moreso
   than the existing MAP proposal: both on browsers which can display
   images (you get the ISMAP map) and on text-only browsers (which
   see a rich text menu).

4. The question of what exactly is allowed inside MAP is open; any
   markup, e.g. a UL to contain the A's with LI's? Will a MAP-only
   DTD definition of A be required? (sort of an A-depleted, with "can
   contain IMG only" and "can contain !IMG" for the two stanzas of MAP.

I imagine it's too far along in the process to change MAP, but it's
worth a shot.

Joshua
--
                ___.----~~~----.___  | MIME: jsbell@acs.ucalgary.ca
 ,--------.-.,-'-------------------` | WWW:  http://www.ucalgary.ca/~jsbell/
 `--------"-'-.,---`~~~-----~~~'
  '---'-._____/