A Proposed Extension to HTML : Client-Side Image Maps

RFC 1980

[6] 本項で紹介する RFC 1980RFC 2854 によって廃止されました。 RFC 1980 で定義された機能は、 HTML4HTML5 を経て現在では HTML Standard によって定義されています。

[1] rfc-index によればこの RFC の状態は HISTRIC です。

[3] この RFC は RFC 2854 により廃止されました。

A Proposed Extension to HTML : Client-Side Image Maps HTML の拡張の提案: clientimage map

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.

「HTML/2.0」というmarkup言語はimage mapを提供します。 image mapは画像の異なる領域をclickすることで、統一識別子 (URI) で指定された異なるネットワーク資源を参照することを可能にする文書要素です。 HTML/2.0 のimage map能力はいくつかの方法に限られていて、 「HTTP」protocolを通して供給された文書においてのみ機能するという制限や、textのみのbrowserの利用者には使用できないという問題があります。 この文書は、こうした制限を解決する、「clientimage mapという HTML 言語への拡張を規定します。

Table of Contents

  1. Introduction ............................................... 1
    1. Purpose ............................................... 1
    2. Overall Operation ..................................... 2
  2. Client-Side Image Map Extension ............................ 2
    1. Syntax ................................................ 2
    2. Required Changes to HTML/2.0 DTD ...................... 4
    3. Backwards Compatibility ............................... 5
    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. image mapは、 World Wide Web の人気の理由 (わけ) である指して押す (point-and-click) interfaceの重要な機能の1つです。 image mapの一番よくある使い方は、利用者が画像の異なる部分をclickすることで異なる文書に接続させるというものです。

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.

この用途に使われる時に、現在のimage mapの実装には幾つかの制限があります。 一つ目は、 HTTP protocol上でしか機能せず、localfileや代替protocolを通して接続したfileを読む時には使用できない点です。 二つ目は、単にlink先を決定するためだけにサーバーと通信が必要な点です。 遠隔siteに接続する時に特に目立って効率が落ちます。 三つ目は、通常のlinkとは異なり、利用者が実際にimage mapの部分をclickする前に、これがどこへ誘導するのかをbrowserが利用者に視覚的に知らせる方法が無いことです。 最後は、image mapの活性域を指定する方法がサーバー依存な点で、文書の可搬性を低下させます。 clientimage mapに対応するこの拡張は、これらの問題に触れます。

It is proposed that this extension be included in a future revision of the HTML specification.

この拡張を将来の版の HTML 仕様書に取り入れることを提案します。

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. clientimage mapは、画像の活性域の完全な表現を、その形, 大きさ, 終点 (URI) を含めて SGML に適合する文字列形式で配置することで機能します。 このmarkupは、非文章的なbrowserで表示される各領域の文章的な説明も含めることが出来ます。 この表現, すなわち(image)mapには、これを識別する名前を与えます。

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.

画像が HTML 文書中に含まれている時、使用する(image)mapを指定する属性を含めることが出来ます。 (image)mapは画像を参照しているのと同じfileに含まれていても構いませんが、必須ではありません。 (image)mapが異なるfileにある場合、その_&&file&&__の URI を指定しなければなりません。

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. browser(image)mapを解析し、内容を覚えます。 利用者が(image)mapclickした時、browserはその場所と一致する指定された終点を探し、その URI に接続します。 非図形的browserの場合は、browserは画像の代わりに文章的説明を表示することができます。 指定された文章的表現をclickすることで、関連付けられた終点に行くことが出来ます。

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 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.

USEMAP 属性を IMG 要素に追加することで、それがclientimage mapであることを示します。 USEMAP 属性は ISMAP 属性と一緒に使って、clientimage mapとしてもサーバー側image mapとしても使えることを示すことも出来ます。 USEMAP の引数 (訳注: 属性値のこと。) にはその画像に対して使用する(image)mapを、その(image)mapを含むfileの URI に「#」及び(image)mapの名前を続ける形で指定します。 USEMAP の引数が「#」で始まる場合、(image)mapはその IMG tagがあるのと同じ文書にあるとみなします。 USEMAP 属性が出現したら、これを囲んでいる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 elementを使って記述します。 (image)mapはその画像中の各範囲を記述子、そのlink先を示します。 MAP elementの基本的な書式は次の通りです。

   <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.

NAME 属性は(image)mapの名前を指定し、 IMG elementから参照可能にします。 各 AREA element(image)mapelementの内側に含めて、画像の単一のclickable領域を指定します。 取り得る図形 (shape) "RECT", "CIRCLE", "POLYGON" で、それぞれ長方形, 円, 多角形の範囲を表します。 SHAPE tag (訳注: 属性のこと。) が省略されていた場合、 SHAPE="RECT" とみなします。

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".

COORDS (座標) tagは領域の位置を、画像の左上の角を原点とする画素 (ピクセ) 単位で指定します。 長方形については、座標は "left,top,right,bottom" の形で指定します。定義した長方形範囲は指定した右下の角を含みます。 例えば 100×100 の画像全体の領域を指定するには、座標は "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 circle. 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).

円範囲については、座標は "中心_x,中心_y,半径" の形で円の中心と半径を指定します。 中心から「半径」の距離以下 (丁度半径の距離を含む。) の全ての点が含まれます。例えば、座標が "4,4,2" の場合、座標 (2,4) (6,4) (4,2) 及び (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.

多角形範囲については、座標には範囲の頂点を順に "x1,y1,x2,y2,...,xn,yn" の形式で指定します。 最初と最後の座標が同じでない場合、多角形を閉じる線分があるとします。 例えば、 "20,20,30,40,10,40" は (20,20) (30,40) 及び (10,40) を頂点とする三角形を指定します。 頂点の数には陽に制限はありませんが、実際には HTML が属性値を1024文字に制限しているために限りがあります。

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 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.

NOHREF 属性は、その範囲でのclickが何も動作を起こさないことを示します。 HREF 属性は、その領域でのclickが誘導する場所を指定します。 相対anchorは、(image)mapの記述を参照している文書の URI ではなく、(image)mapが記述されている URI を基底として展開します。(image)mapの記述を含む文書に BASE tagがある場合、この URI が基底として使われます。

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.

任意の数の AREA tagを指定することが出来ます。 2つの領域が交わる場合、最初に(image)map定義に現れた方を重複範囲では優先して扱います。 合成図形を作るために複数の領域が同じ終点を指すようにしても構いません。 AREA tagが指定されていない画像の全ての部分は、無動作を既定とします。

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.

省略可能な ALT 属性には、当該領域を説明するtextを指定します。 textのみのbrowserは画像の代わりに各領域の文章的内容を表示できます。

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:

この構文に対応するために HTML/2.0 DTD に次の変更が必要です。

IMG elemntの定義の変更:

  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
    >

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.

この拡張は、これに対応しないbrowserに対する種々の代替選択肢を提供するように特に設計しています。 そのような選択子は、browserが HTML/2.0 DTD に現れない属性やelementを無視するという仮定に基づいています。

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. clientimage mapは3つの異なった代替動作を行えるように書くことが出来ます。 一番目に、 ISMAP 属性を USEMAP 属性と併用することで文書はサーバー側image map能力を使うことがd慶増。 これが可能な場面では、image mapclient側拡張に対応したbrowserでもそうでないbrowserでも動作します。

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.

二番目に、画像をclickすることで、画像のどこをclickしたかに関わらず利用者を単一の URI に誘導できます。これは画像をanchor (A) elementの内側に配置することで実現できます。 代替の終点では利用者にエラーを返すか又は終点の文章による一覧を提供するかできます。

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.

最後に、画像を全くlinkと見せない (つまり、browserhyperlinkであることを示す視覚的な目印を無くす) ことが出来ます。これは、画像elementISMAP 属性を持たないしanchorの内側にもない場合になります。

2.4 Examples

The following three examples show markup demonstrating the three fallback mechanisms described in section 2.3:

次の3つの例は、2.3節で説明した3つの代替機構のmarkup例を示します。

このimage mapはどの図形的browserでも機能します:

      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>
client

image mapに対応していない時にここをclickするとエラー・メッセージの頁に行きます:

      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>
browser

clientimage mapに対応している時のみここをclickすることが出来ます:

      You can only click here if your browser supports client-side
      image maps: <IMG SRC="pic3.jpg" USEMAP="maps.html#map3">

The following example shows the use of a map in the same file as the image:

次の例は同じfileにある(image)mapの使用を示しています:

      <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:

次の例は、2つの大きな長方形と重なっている円が中央にある単純な(image)mapの定義です。

      <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. clientimage mapの部分をclickすることで、 URI が dereference されることになるかもしれません。 この場合、 URL に関連する安全性についての考察が適用されます。

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.

5. Author's Address

James L. Seidman Senior Software Engineer Spyglass, Inc. 1230 East Diehl Road Naperville, IL 60563

EMail: jim@spyglass.com

License

RFCのライセンス

メモ