diff options
Diffstat (limited to 'doc/rfc/rfc1980.txt')
-rw-r--r-- | doc/rfc/rfc1980.txt | 395 |
1 files changed, 395 insertions, 0 deletions
diff --git a/doc/rfc/rfc1980.txt b/doc/rfc/rfc1980.txt new file mode 100644 index 0000000..76d2a9b --- /dev/null +++ b/doc/rfc/rfc1980.txt @@ -0,0 +1,395 @@ + + + + + + +Network Working Group J. Seidman +Request for Comments: 1980 Spyglass, Inc. +Category: Informational August 1996 + + + A Proposed Extension to HTML : Client-Side Image Maps + +Status of this Memo + + This memo provides information for the Internet community. This memo + does not specify an Internet standard of any kind. Distribution of + this memo is unlimited. + +Abstract + + The markup language known as "HTML/2.0" provides for image maps. + Image maps are document elements which allow clicking different areas + of an image to reference different network resources, as specified by + Uniform Identifier (URIs). The image map capability in HTML/2.0 is + limited in several ways, such as the restriction that it only works + with documents served via the "HTTP" protocol, and the lack of a + viable fallback for users of text-only browsers. This document + specifies an extension to the HTML language, referred to as "Client- + Side Image Maps," which resolves these limitations. + +Table of Contents + + 1. Introduction ............................................... 1 + 1.1 Purpose ............................................... 1 + 1.2 Overall Operation ..................................... 2 + 2. Client-Side Image Map Extension ............................ 2 + 2.1 Syntax ................................................ 2 + 2.2 Required Changes to HTML/2.0 DTD ...................... 4 + 2.3 Backwards Compatibility ............................... 5 + 2.4 Examples .............................................. 5 + 3. Security Considerations .................................... 6 + 4. References ................................................. 6 + 5. Author's Address ........................................... 7 + +1. Introduction + +1.1 Purpose + + Image maps are an important feature of the point-and-click interface + which makes the World Wide Web so popular. The most common use of + image maps is to allow users to access different documents by + clicking different areas in an image. + + + + +Seidman Informational [Page 1] + +RFC 1980 Client-Side Image Maps August 1996 + + + There are several limitations of the current image map implementation + as it applies to this use. First, it only works over the HTTP + protocol, making it unusable for reading local files or files + accessed via alternate protocols. Second, a server transaction is + required merely to determine where the link is directed. This can + degrade performance noticeably when accessing distant sites. Third, + unlike for normal links, there is no way for a browser to provide + visual feedback to the user showing where a portion of an image map + leads before the user actually clicks it. Lastly, the method for + specifying the active regions of image maps is server-dependent, + compromising portability of documents. This extension to support + client-side image maps addresses these issues. + + It is proposed that this extension be included in a future revision + of the HTML specification. + +1.2 Overall Operation + + Client-side image maps work by placing a complete representation of + the active areas of an image, including their shape, size, and + destination (URI), into an SGML-compliant textual form. This markup + may also optionally include a textual description for each area for + display on non-textual browsers. This representation, or "map," is + given a name to identify it. + + When an image is included in an HTML document, it may include an + attribute specifying a map to use. The map may be contained in the + same file which references the image, but this it not required. If + the map is in a different file, a URI to that file must be provided. + + The browser will parse the map and remember the contents. When the + user clicks the map, the browser will match up the location with the + specified destination for that location and access that URI. In the + case of a non-graphical browser, the browser could display the + textual descriptions for each area instead of the image. Clicking a + given textual description would then go to the associated + destination. + +2. Client-Side Image Map Extension + +2.1 Syntax + + Adding a USEMAP attribute to an IMG element indicates that it is a + client-side image map. The USEMAP attribute can be used with the + ISMAP attribute to indicate that the image can be processed as either + a client-side or server-side image map. The argument to USEMAP + specifies which map to use with the image, by specifying the URI for + the file containing the map, followed by a '#', followed by the name + + + +Seidman Informational [Page 2] + +RFC 1980 Client-Side Image Maps August 1996 + + + of the map. If the argument to USEMAP starts with a '#', the map is + assumed to be in the same document as the IMG tag. The presence of a + USEMAP attribute overrides the effect of an enclosing anchor (A) + element. + + The different regions of the image are described using a MAP element. + The map describes each region in the image and indicates where it + links to. The basic format for the MAP element is as follows: + + <MAP NAME="name"> + <AREA [SHAPE="shape"] COORDS="x,y,..." [HREF="reference"] + [NOHREF] [ALT="alt"]> + </MAP> + + The NAME attribute specifies the name of the map so that it can be + referenced by an IMG element. Each AREA element contained inside the + map element specifies a single clickable area of the image. The + SHAPE attribute gives the shape of this area. Possible shapes are + "RECT", "CIRCLE", and "POLYGON", which specify rectangular, circular, + and polygonal regions respectively. If the SHAPE tag is omitted, + SHAPE="RECT" is assumed. + + The COORDS tag describes the position of an area, using image pixels + as the units with the origin at the upper-left corner of the image. + For a rectangle, the coordinates are given as + "left,top,right,bottom". The rectangular region defined includes the + lower-right corner specified, i.e. to specify the entire area of a + 100x100 image, the coordinates would be "0,0,99,99". + + For a circular region, the coordinates are given as + "center_x,center_y,radius", specifying the center and radius of the + ircle. All points up to and including those at a distance of + "radius" points from the center are included. For example, the + coordinates "4,4,2" would specify a circle which included the + coordinates (2,4) (6,4) (4,2) and (4,6). + + For a polygonal region, the coordinates specify successive vertices + of the region in the format "x1,y1,x2,y2,...,xn,yn". If the first + and last coordinates are not the same then a segment is inferred to + close the polygon. The region includes the boundary lines of the + polygon. For example, "20,20,30,40,10,40" would specify a triangle + with vertices at (20,20) (30,40) and (10,40). No explicit limit is + placed on the number of vertices, but a practical limit is imposed by + the fact that HTML limits an attribute value to 1024 characters. + + The NOHREF attribute indicates that clicks in this region should + perform no action. An HREF attribute specifies where a click in that + area should lead. A relative anchor specification will be expanded + + + +Seidman Informational [Page 3] + +RFC 1980 Client-Side Image Maps August 1996 + + + using the URI of the map description as a base, rather than using the + URI of the document from which the map description is referenced. If + a BASE tag is present in the document containing the map description, + that URI will be used as the base. + + An arbitrary number of AREA tags may be specified. If two areas + intersect, the one which appears first in the map definition takes + precedence in the overlapping region. Multiple areas may share the + same destination to create composite shapes. Any portion of an image + which is not described by an AREA tag defaults to having no action. + + The ALT attribute specifies optional text which describes a given + area. A text-only browser can display the textual contents for each + area as a substitute for the image. + +2.2 Required Changes to HTML/2.0 DTD + + The required changes to the HTML/2.0 DTD to support this syntax would + be as follows: + + Change the IMG element definition to be: + <!ELEMENT IMG - O EMPTY> + <!ATTLIST IMG + SRC CDATA #REQUIRED + ALT CDATA #IMPLIED + ALIGN (top|middle|bottom) #IMPLIED + ISMAP (ISMAP) #IMPLIED + USEMAP %URI; #IMPLIED + %SDAPREF; "<Fig><?SDATrans Img: #AttList>#AttVal(Alt)</Fig>" + > + + Add the following new definitions: + <!ELEMENT MAP - - +(AREA)> + <!ATTLIST MAP + NAME %linkName; #REQUIRED + > + + <!ELEMENT AREA - O EMPTY> + <!ATTLIST AREA + SHAPE (RECT|CIRCLE|POLYGON) RECT #IMPLIED + COORDS CDATA #REQUIRED + HREF %URI; #IMPLIED + NOHREF (NOHREF) #IMPLIED + ALT CDATA #IMPLIED + > + + + + + + +Seidman Informational [Page 4] + +RFC 1980 Client-Side Image Maps August 1996 + + +2.3 Backwards Compatibility + + This extension is specifically designed to provide a variety of + fallback options for browsers which do not support it. These options + are based on the assumption that browsers will ignore any attributes + or elements which are not present in the HTML/2.0 DTD. + + An document can be written so that a client-side image map can have + three different fallback behaviors. First, the document can use the + server-side image map capability, by specifying the ISMAP attribute + as well as USEMAP. In situations where this is possible, the image + map will work whether or not the browser supports the client-side + extension. + + Second, clicking the image can direct the user to a single URI, + regardless of where on the image he clicks. This is accomplished by + placing the image inside an anchor (A) element. The fallback + destination could provide the user with an error or a textual list of + destinations. + + Lastly, the image can appear to not be a link at all (i.e. missing + whatever visual cues a browser provides to indicate a hyperlink). + This will be the result if the image element neither contains an + ISMAP attribute nor is inside an anchor. + +2.4 Examples + + The following three examples show markup demonstrating the three + fallback mechanisms described in section 2.3: + + This image map will work with any graphical browser: + <A HREF="/cgi-bin/imagemap/pic1"> + <IMG SRC="pic1.jpg" USEMAP="maps.html#map1" ISMAP></A> + + Clicking here will take you to a page with an error message if + you don't have client-side image map support: + <A HREF="no_csim.html"> + <IMG SRC="pic2.jpg" USEMAP="maps.html#map2"></A> + + You can only click here if your browser supports client-side + image maps: <IMG SRC="pic3.jpg" USEMAP="maps.html#map3"> + + + + + + + + + + +Seidman Informational [Page 5] + +RFC 1980 Client-Side Image Maps August 1996 + + + The following example shows the use of a map in the same file as the + image: + + <IMG SRC="picture.jpg" USEMAP="#mymap"> + + The following example defines a simple map which describes an image + with a circle in the middle overlapping two large rectangles: + + <MAP NAME="welcomemap"> + <AREA SHAPE=CIRCLE COORDS="50,50,40" HREF="about_us.html" + ALT="About our company"> + <AREA SHAPE=RECT COORDS="0,0,100,50" HREF="products.html" + ALT="Our products"> + <AREA SHAPE=RECT COORDS="0,51,100,100 HREF="technology.html" + ALT="Technology for the next century"> + </MAP> + +3. Security Considerations + + Clicking a portion of a client-side image map may cause a URI to be + dereferenced. In this case, the security considerations related to + URLs [5] apply. + +4. References + + [1] Berners-Lee, T., and D. Connolly, "HyperText Markup Language + Specification - 2.0", RFC 1866, November 1995. + + [2] Seidman, J., "An HTML Extension to Support Client-Side Image + Maps", The Second Internation WWW Conference '94 Advance + Proceedings, pp 927-930. + + [3] "Standard Generalized Markup Language" ISO Standard 8879:1986 + Information Processing Text and Office Systems. + + [4] Berners-Lee, T., Fielding, R., and H. Frystyk Nielsen, + "Hypertext Transfer Protocol -- HTTP/1.0", Work in + Progress. + + [5] Berners-Lee, T., Masinter, L., and M. McCahill, "Uniform + Resource Locators (URL)", RFC 1738, December 1994. + + + + + + + + + + +Seidman Informational [Page 6] + +RFC 1980 Client-Side Image Maps August 1996 + + +5. Author's Address + +James L. Seidman +Senior Software Engineer +Spyglass, Inc. +1230 East Diehl Road +Naperville, IL 60563 + +EMail: jim@spyglass.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Seidman Informational [Page 7] + |