name

終点アンカー系 name 属性 (HTML)

本項は歴史的事項を説明しています。本項の内容の一部または全部は、現在の状況とは異なるかもしれません。

(なお本項の内容の一部または全部は、互換性または歴史的連続性のために現在も有効な場合もあります。しかし新たに利用することは避けるべきです。)

目次

  1. name 属性と id 属性
  2. a 要素 name 属性 (HTML, XHTML 1)
    1. §
      1. 代替
      2. 属性値
      3. 他との関係
      4. 歴史
      5. 実装
      6. メモ
    2. form 要素 name 属性 (HTML, XHTML 1)
      1. 代替
      2. 属性値
      3. 他との関係
      4. 歴史
      5. メモ
    3. img 要素 name 属性 (HTML, XHTML 1)
      1. 代替
      2. 属性値
      3. 歴史
      4. 他との関係
      5. メモ
    4. applet 要素 name 属性 (HTML, XHTML 1)
      1. 代替
      2. 属性値
      3. 他との関係
      4. メモ
    5. map 要素 name 属性
      1. 代替
      2. 属性値
      3. 他との関係
      4. メモ
    6. メモ
  3. div 要素, span 要素の name 属性
  4. メモ

name 属性と id 属性#

[8] 「噂の ID 問題」についてのメモは噂のID問題に移動しました。

a 要素 name 属性 (HTML, XHTML 1)#

[19] HTMLa 要素の name 属性は、 そのアンカーに名前をつけます。 (そうすることで他の連結の終点にできるようになります。)

[64] 仕様書:

代替#

[82] この属性非推奨です XHTML 1.0 4.10 (参考)。 代わりに id 属性を使うことができます。

ただし、 nameid では、 属性値に課された制約が異なります。 噂のID問題の項などをご覧下さい。

[83] XHTML 1.0 では将来の版での削除が予告されており、 実際に XHTML 1.1 には name は含まれていません。

属性値#

[20] この属性の値は固有アンカー名です。 SGML 的には CDATA です。この属性の値は大文字・小文字を区別します。

この属性の値の適用範囲はその文書です。つまり文書内で固有でなければなりません。 この属性は id 属性と名前空間を共有します。 つまり他の id 属性と同じ値ではいけません。

[21] この属性は省略可能です。

他との関係#

[22] name 属性は古くから使われてきましたが、 現在は ID である id 属性を代わりに使うのが好ましいとされています。

id 属性は HTML のほとんどの要素型に定義されていますから、 わざわざ a 要素としなくても、 どんな要素でも終点アンカーにできます。

nameid との関係は、 id] 属性の説明および噂のID問題の説明を参照してください。

[23] name 属性によって定義されたアンカー名は、 URI参照素片識別子として使用することができます。 例えば a.html の中の name ANCHOR は、 URI 参照で a.html#ANCHOR とあらわせます。 (この際、 URI 参照としてそのまま使えない文字を URI符号化しなければならないことに注意してください。)

[65] スクリプトから名前によって要素を識別する方法について、 HTML 4 は、 name 属性と id 属性の両方が指定されている場合には name 属性を優先させるべきであるとしています。 HTML 4 18.2.2.3 ここで、 name 属性の指定される要素型は明記されていませんが、リンク先によれば a 要素の name 属性を指すようです。

歴史#

[109] NCSA Mosaica 要素fig 要素name 属性を実装していたようです。ただしその値が実際に利用されていたのかは不明です。 実装中には将来的に (使っていないのでかわりに?) alt 属性に流用することを意図していそうな注釈があります。

実装#

[24] HTML 4 仕様書によれば、 <a name="ANCHOR"></a> のように空要素だと古い UA の中にはアンカーを見つけられないことがあるそうです。

メモ#

[3] HTML の a 要素型の name 属性の値、理想的には ID 或いは NMTOKEN なのですが、実世界では今でも稀に、 #fragment のように # で始まる値を指定する人がいるみたいです。

[4] もちろん >>3 は間違いで、多分同じページ内の始点リンクの href 属性で URI参照として #fragment と書くのと混同してるんでしょう。 (本当に >>3 の例のを参照したいのなら、 href#%23fragment としなければなりません。)

[5] {>>3,>>4 の不正な例} は Mozilla ではうまく動きません (正しいほうは動きます) が、 WinIE 6 では 「意図したように」動きます。もちろん WinIE の解釈が間違っています。 (余計なおせっかい。)

[16] >>3 そのの中に M$ が含まれていたりするから笑える。 (名無しさん 2004-06-07 23:48:26 +00:00)

[18] Dan Connolly なんかはとっとと nameID にしたがっていたのに、とうとう最後までかないませんでしたねぇ。 >>3 のような人達のせいで。

[96] HTML 4 <IW:HTML4:"appendix/notes.html#idx-anchor">

Note. The same conversion based on UTF-8 should be applied to values of the name attribute for the A element.

の意味は謎だけど、 XSLT 2.0 and XQuery 1.0 Serialization <http://www.w3.org/TR/2007/REC-xslt-xquery-serialization-20070123/#list-of-uri-attributes> のように URI として扱う属性に含めるのは違うのではないか?

(名無しさん)

form 要素 name 属性 (HTML, XHTML 1)#

[17] HTMLform 要素の name 属性は、その要素に名前を付けるために使うことができます。

[58] 仕様書:

[69] HTML 4 DTD 注釈 (参考) には name of form for scripting (スクリプト用フォーム名) と説明があります。

代替#

[59] この属性は、後方互換性のために追加されました。 応用は要素の識別には id 属性を使うべきです HTML 4 17.3

[84] この属性非推奨です XHTML 1.0 4.10 (参考)。 代わりに id 属性を使うことができます。

ただし、 nameid では、 属性値に課された制約が異なります。 噂のID問題の項などをご覧下さい。

[85] XHTML 1.0 では将来の版での削除が予告されており、 実際に XHTML 1.1 には name は含まれていません。

属性値#

[60] この属性の値は CDATA です。 大文字・小文字は区別されません。 HTML 4.01 17.3

[61] この属性は省略可能です。

他との関係#

[62] name 属性の代わりに id 属性を使うべきです HTML 4.01 17.3

[63] この属性によって付けた名前を使ってスクリプトスタイル・シートから参照できます。

[73] DOM水準0 では、 document.form.name で名前により form 要素に対応する物体を取得できます。 (名無しさん [sage])

歴史#

[57] この属性は後方互換性のため HTML 4.01 で追加されました HTML 4.01 A.1.1.12

[98] XHTML 1.0FE でも SE でも移行用DTDフレーム集合DTDNMTOKEN 型として含まれているのですが、 なぜか厳密DTDにはありません。 本文には他の終点アンカーname 属性と共に非推奨とあります。

(名無しさん)

メモ#

img 要素 name 属性 (HTML, XHTML 1)#

[25] HTMLimg 要素の name 属性は、 要素に名前をつけてスクリプトスタイル・シートで参照できるようにすることができます。

[26] 仕様書:

[67] HTML 4 DTD の注釈 (参考) には name of image for scripting と書かれています。

代替#

[27] この属性は後方互換性のために含められているもので、 著者は id 属性を使用するべきです。 HTML 4.01

[86] この属性非推奨です XHTML 1.0 4.10 (参考)。 代わりに id 属性を使うことができます。

ただし、 nameid では、 属性値に課された制約が異なります。 噂のID問題の項などをご覧下さい。

[87] XHTML 1.0 では将来の版での削除が予告されており、 実際に XHTML 1.1 には name は含まれていません。

属性値#

[28] この属性の値は CDATA です。 HTML 4 仕様書にはそれ以上の制限は明記されていません。

値の大文字と小文字は区別されません

[30] 属性値の名前空間は不明です。 12.2.3 Anchors with the id attribute <IW:HTML4:"struct/links.html#idx-anchor-8"> の記述が a 要素以外にも適用されるのだとすれば、 id と同じ名前空間に属することになります。 その節の後の方の記述によれば、 id 要素も指定する時は同じ値でなければなりません。

[29] この属性は省略可能です。

歴史#

[66] この属性は HTML 4.01 で後方互換性のために追加されました HTML 4.01 A.1.1.9

他との関係#

[41] id 属性も併用するときは、 name と同じ値でなければなりません ( [HTML 4, 噂のID問題 (>>26) ] )。 この場合、使用できる文字は制限されます。 特に、 NAMECASE GENERAL YES のとき、 name は大文字でなければならなくなります。

メモ#

applet 要素 name 属性 (HTML, XHTML 1)#

[35] HTMLapplet 要素の name 属性は、 applet 実現値の名前を指定します。

この名前を使って applet は相互に参照・通信できます。

[36] 仕様書: HTML 4 <IW:HTML4:"struct/objects.html#adef-name-APPLET">

代替#

[37] この属性は HTML 4 で要素ごと非推奨とされています。 代わりに object 要素型と id 属性を利用できます。 (ただし、完全に等価ではないので注意してください。)

[88] この属性非推奨です

XHTML 1.0 4.10 (参考)。 代わりに id 属性を使うことができます。

ただし、 nameid では、 属性値に課された制約が異なります。 噂のID問題の項などをご覧下さい。

[89] XHTML 1.0 では将来の版での削除が予告されており、 実際に XHTML 1.1 には name は含まれていません。

属性値#

[38] この属性の値は CDATA です。 それ以上の制限は特にないものと思われます。 大文字・小文字は区別されます。

[39] この属性は省略可能です。

他との関係#

[40] id 属性も併用するときは、 name と同じ値でなければなりません ( [HTML 4, 噂のID問題 (>>26) ] )。 この場合、使用できる文字は制限されます。 特に、 NAMECASE GENERAL YES のとき、 name は大文字でなければならなくなります。

id 属性を使うときは必然的に文書内で固有でなければならなくなりますが、 そうでない場合 HTML 4 的にどうなのかは不明です。

メモ#

[68] HTML 4 DTD の注釈 (参考) には allows applets to find each other と書かれています。

map 要素 name 属性#

[42] HTMLmap 要素の name 属性は、クライアント側画像写像の名前を割当てます。

[43] 仕様書: HTML 4 <IW:HTML4:"struct/objects.html#adef-name-MAP">

[48] HTML 4 仕様書には map 要素独自の name 属性の定義の他に他で定義されている属性として form control 系 name 属性への参照があるのですが、これって間違いでしょうか。

代替#

[90] この属性非推奨です XHTML 1.0 4.10 (参考)。 代わりに id 属性を使うことができます。

ただし、 nameid では、 属性値に課された制約が異なります。 噂のID問題の項などをご覧下さい。

[91] XHTML 1.0 では将来の版での削除が予告されており、 実際に XHTML 1.1 には name は含まれていません。

HTML 5 で復活

属性値#

[44] この属性の値は CDATA です。 大文字・小文字は区別しません。

[46] この属性は必須です。

他との関係#

[45] id 属性を使うときは、同じ値でなければなりません。 (name は大文字・小文字を区別しないようなので、 大文字・小文字まで一致していなくてもよいと思われます。 (もちろん、一致させた方が混乱の元にならなくて良いでしょう。)) 噂のID問題も参照してください。

[47] この属性の値は素片識別子として使用できるようです。 ですから、 (HTML 4 仕様書には言及がないようですが、) id 属性と併用しないときであっても、 id と名前空間を共有していると考えるのが妥当でしょう。

メモ#

メモ#

[70] HTML 4 ではどの要素型の name 属性が素片識別子として使えるのか曖昧ですが、 XHTML 1.0 によると HTML 4 では a, applet, form, frame, iframe, img, map素片識別子として使えるそうです XHTML 1.0 4.10

XHTML 1.0 ではこれらの name 属性は非推奨とされ、 将来の削除が予告されています XHTML 1.0 4.10, C.8

出典:

[72] また、 XHTML 1.0 では name 属性の型が NMTOKEN に変更されています。更に本文の記述 (参考) によると実際には制約が更に強く、 XML名前でなければならないようです XHTML 1.0 C.8

HTML 4 との互換性を維持したい場合には [A-Za-z][A-Za-z0-9:_.-]* な値にするのがよいともされています XHTML 1.0 C.8

名前空間妥当であるためには : を使うのもまずいでしょう。

[71] frameiframetarget 属性の規定も修正しない限り削除しちゃうとまずいと思いますが...

[99] >>12 なぜか、移行用DTDだけは map nameXHTML 1.0 でも CDATA のままです。 (名無しさん)

div 要素, span 要素の name 属性#

[74] div 要素や span 要素で name 属性を使っている人がいます。

標準の HTML には含まれていませんし、 WinIENetscape Navigator で独自に実装されたという話も今のところ聞きません。 捏造しているタグ辞典類も他のこの手のものに比べると皆無といっていいくらい。 なのになぜかそれなりの用例が出てきます。

[75] まぐまぐ - ホームページ楽々講座 - (2005年6月、西久保希光著) <http://blog.mag2.com/m/log/0000092208/106131034?page=1>

(HTML 文書の例の中で)

<TD><A HREF="226.html"><DIV NAME="pic1" onMouseOver="pic1.style.filt er='none'" onMouseOut="pic1.style.filter='gray'"><IMG SRC="f1.jpg" s tyle="filter:gray" BORDER="0" ID="pic1"></DIV></A></TD> ]PRE]

一見 pic1 という名前をスクリプトから参照しているように見えますが、 スクリプトが参照している pic1imgid の方です。著者は一体何を考えて divname なぞ付けたのでしょう?

[76] BIGLOBE SoftPlaza DHTML-Seminar 2-7/9 (1998年11月付け、 Tomohiro Tamoto 著) <http://softplaza.biglobe.ne.jp/text/1999sp/dhtml/dhtml2-7.html>

<div name="nn" class="test" id="ie"> ]PRE]

WinIE には id を、 Netscape Navigator 4 には name を使うのだとさも当然のように説明しています。

[77] Dynamic HTML in Communicator <http://developer.netscape.com/docs/manuals/communicator/dynhtml/layers33.htm#1013583>

Netscape 社の (Netscape Navigator 4 の時代の) DHTML の仕様書ですが、 DOMLayer 物体name 属性を

The name assigned to the layer through the NAME or ID attribute.

と説明しています。しかし HTMLlayer 要素にも div 要素にも id 属性はあっても、 name 属性があるという話はどこにも出てきません。 DOMLayer 物体id 属性も載っていません。

[78] Layer 1193137 Layer <http://devedge.netscape.com/library/manuals/2000/javascript/1.3/reference/layer.html#1193672>

Netscape 社の (Netscape Navigator 4 の時代の) JavaScript 1.3 の仕様書ですが、 Layer 物体name 属性をこちらは

A string specifying the name assigned to the layer through the ID attribute in the LAYER tag.

と説明しています。 name 属性への言及がなくなっています。

[79] 実際に Netscape Communicator 4.8 で確認してみると、 DOMLayer 物体には name 属性id 属性の両方が存在しており、 どちらも同じ id 属性または name 属性の値になります。 両方指定されて矛盾している場合は name 属性が優先されます (その場合、 document.layers.id でアクセスできません)

[80] 仮のまとめ: Netscape Navigator 4div 要素に name 属性が実装されており、古い NC4 の時代には正式な機能の一部だった可能性もある。 その風習を意味も無く今でもまもり続けている変な人がいくらかいるらしい(藁

[81] テスト:

検索:

[101] pod2html が生成する HTML には div 要素name 属性が指定されたものが含まれます。 (名無しさん)

メモ#

- [95] name, id, usemap, target, %FrameTarget;, Window-Target:, ID, 噂のID問題, 素片識別子などの項の内容を整理する。

[103] (X)HTML5 Tracking ( 版) <http://html5.org/tools/web-apps-tracker?from=3787&to=3788>

[104] IRC logs: freenode / #whatwg / 20091201 ( 版) <http://krijnhoetmer.nl/irc-logs/whatwg/20091201>

[105] HTML5 Revision Tracker ( 版) <http://html5.org/tools/web-apps-tracker?from=4953&to=4954>

[106] Basic Data Types and Interfaces – SVG 1.1 (Second Edition) ( ( 版)) <http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#DataTypeName>

[107] RFC 6249 - Metalink/HTTP: Mirrors and Hashes ( ( 版)) <http://tools.ietf.org/html/rfc6249#section-4>

[108] IRC logs: freenode / #whatwg / 20131104 ( ( 版)) <http://krijnhoetmer.nl/irc-logs/whatwg/20131104>

[110] Fix <https://www.w3.org/Bugs/Public/show_bug.cgi?id=27170>. Define a "n... · cdfbd7f · heycam/webidl ( ( 版)) <https://github.com/heycam/webidl/commit/cdfbd7f915d377f7c818c4f3e3fbb8be0a92ac37>

[111] RFC 2660 - The Secure HyperText Transfer Protocol ( ( 版)) <http://tools.ietf.org/html/rfc2660#section-3.4.1>

[6] OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 1: OpenDocument Schema ( 版) <http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#a19_376_9_text_a_>

This attribute is specified for compatibility with [HTML4] only, where an <a> element may serve as a link source and target simultaneously. This attribute should not be used for any purpose other than to represent links that came from a HTML document.

[1] Editorial: synchronize with the DOM Standard · whatwg/html@21c6ec7 ( 版) <https://github.com/whatwg/html/commit/21c6ec77594eb89b836d4872222f5916910967fd>

[2] Remove <applet> (zcorpan著, ) <https://github.com/whatwg/html/commit/b9b9d60f9451c05f8e8d542e4094f987ae1a5fb8>