HTML 4.0で新登場の要素は、
ABBR、
ACRONYM、
BDO、
BUTTON、
COL、
COLGROUP、
DEL、
FIELDSET、
FRAME、
FRAMESET、
IFRAME、
INS、
LABEL、
LEGEND、
NOFRAMES、
NOSCRIPT、
OBJECT、
OPTGROUP、
PARAM、
S (これは非推奨)、
SPAN、
TBODY、
TFOOT、
THEAD、そして
Qです。
以下の要素が非推奨となりました。
APPLET、
BASEFONT、
CENTER、
DIR、
FONT、
ISINDEX、
MENU、
STRIKE、そして
U。
次の要素が廃止されました。LISTING、PLAINTEXT、
そしてXMP。 この代わりに、PRE要素を使って下さい。
- HTML文書の見栄えをコントロールするための属性のほとんど(例えばcolors、alignment、fonts、graphics、等)は非推奨であり、スタイルシートを用いることをお奨めします。属性一覧中で、どの属性が非推奨なのかを明示しています。
- id属性とclass属性を利用することにより、様々な要素に、スタイルシートやアンカー(リンク)、スクリプト、オブジェクトの指定、その他文書の作成に関する一般的な用途に使える固有名やクラス名をつけることができます。
高いアクセシビリティを実現するため、以下を始め、HTML 4.0には多くの機能が盛り込まれました。
- 事実上全ての要素に対してtitle属性が用意されました。
- 表や画像、フレームの使用に際して、[非対応ユーザエージェントのための] より詳細なコメントを附記することが可能になりました。(TABLEについてはsummary属性、IMGとFRAMEについてはlongdesc属性の項を参照のこと。)
META要素やLINK要素によって盛り込もうとするその文書「についての情報」=「メタ情報」それ自体を説明するためのプロファイル<profiles>の作成が可能になりました。
- 国際化が施されたことにより、書字方向や言語に関する情報を定義できるようになりました。
- INS要素とDEL要素により、改定に際しての変更点を明示できるようにまりました。
- ABBR要素とACRONYM要素により、略語に関する情報を定義できるようになりました。
- id属性を使うことで、全ての要素がリンク先として利用できるようになりました。
HTML 4.0で採用された表設計モデルは、HTML+の初期の作業、およびHTML3.0の最初の草稿から進化したものです。初期のモデルが、下記の点で拡張された形になっています。
- 読み手のユーザエージェントがデータを受け取った時点から逐次表示が可能になるような表を設計可能になりました。
- [音声出力や点字出力などを含む] 非視覚系ユーザエージェントで表データを利用する際により利用しやすい表を設計可能になりました。
- 画面サイズより大きい表データを表示させる際に表のヘッダ部とフッタ部を固定表示して中身だけスクロールさせることや、紙面より大きい表データを印刷する際に各ページにヘッダとフッタを表示させることが可能になりました。
HTML 4.0の表モデルでは、列ごとの字寄せ指定や、自由度が高い枠線の組み方、特定の文字を基準に桁揃え等が可能になっています。ただし、表データを表として表示する機能は、近い将来スタイルシートに取って代わられることが期待されています。
HTML 4.0の表モデルの大きな目標はNetscape社による独自規格をW3C仕様に統合することで、もう1つの目標はSGMLのCALSモデルに適合させることでした。最終草案では2大WWWブラウザの実装に見合ったalign属性が用意され、またdir属性の役割を明確化するための定義と、列幅に対する絶対指定と相対指定が組み合わされている場合にユーザエージェントが取るべき行動(recommended behavior)に関する定義が行われました。
新しく加えられたCOLGROUP要素は、1つあるいは複数のCOL要素に対して列幅や桁揃えなどの指定を一括して行うことを可能にします。COLGROUPの使用法に関して、本書は最終草案をより明確化し、また「rules」属性の値「basic」は「groups」に改められました。
表のstyle属性に関して、セルの縁取りや塗りつぶしなどに関する拡張が施されました。例えば、線種<line style>を、点線、二重線、細/太線にすることや、セルの色指定や網掛け指定、それから余白指定や字体指定などです。これはスタイルシートの章で解説します。
枠線のframe属性と罫線のrules属性、そしてalign属性とvalign属性は、SGMLでの用語法との衝突を避けるために、変更になりました。この変更は、SGMLとの相性の他に、表を構成する要素として将来frame属性並びにrules属性を持つ新しい要素が登場するような場合のことをも考えて、行われたものです。
この仕様には、フォームの設計に影響する幾つかの新しい要素・属性を用意してあります。
- accesskey属性により、選択肢の各項目を選ぶ際にキーボードでの選択が可能になりました。
- disabled属性により、表示開始当初は不活性であるような選択肢を作ることができるようになりました。
- readonly属性により、読み手には変更できず、読むだけの項目を設定できるようになりました。
- LABEL要素により、個々の選択肢にラベルづけをできるようになりました。
- FIELDSET要素により、関連する選択項目をグループ化できるようになりました。LEGEND要素と併用すると、グループの名前をキャプションとして掲示することができます。この両要素を使うと、複雑なフォームがより使いやすいように設計できます。音声出力環境はより分かりやすく読み上げることができ、グラフィック系環境ではきめ細かいラベルづけがなされるでしょう。
- スクリプトと組にして用いる幾つかの属性により、読者自身が入力内容をチェックできるようになりました。
- BUTTON要素と、type属性値「ボタン」を指定されたINPUT要素は、スクリプトと組み合わせて用いることで、より面白い<richer>フォームを設計できます。
- OPTGROUP要素により、1つのSELECTメニューの中に、グループ化された複数のメニュー項目を表記できます。これはアクセス性を向上させます。
- 国際化のための追加点もあります。
HTML 4.0は出力メディア毎のレイヤーセットに対応しているので、様々な出力機器に応じたスタイルシートを定義できます。
HTML 4.0は、フレーム分割文書と行内フレームに対応しました。
多くの要素が、スクリプトと組にして用いるイベント系の属性に対応しました。例えば、文書が読み込まれる際、マウスがクリックされた時、等のイベントが発生したことに動的に反応するスクリプトを記述できます。
HTML 4.0は、HTMLの国際化のために、[RFC2070]を統合しました。
HTML 4.0仕様と[RFC2070]の違いは次の点です。
この節では、今回の校訂版が初版のどこを直したかを記します。
- Section 2.1.1
- "http://www.w3.org/TR/PR-html4/cover.html" と記したものは、「最新版」のURLを示そうとしたもので、実際にはhttp://www.w3.org/TR/REC-html40が正しい記述です。
- Section 7.5.2
- nameの部分へのリンクが死んでいました。次のtypes.html#type-nameが正しいリンクです。
- Section 7.5.4
- DIV要素とSPAN要素の属性リストにhref属性が載っていましたが、本当は存在しません。
- Section 7.5.6
- ADDRESS要素にP要素が混ざってましたが、間違いです。
- Section 8.1
- 最初の例文の "Her super-powers were the
result..." の冒頭 "Her" のところに、余分な二重引用符がついていました。
- Section 9.3.4
- width属性に関して非推奨という注意書きをつけるのを忘れていました。
- Section 11.2.4, "Calculating
the width of columns"
- 3番目の列に関する話である筈の "We have set the value of the align attribute in the third
column group to 'center'" が、「3番目」ではなく「2番目」になってしまっていました。
- Section 11.2.6, "Cells that
span several rows or columns"
- 第2段落の "In this table definition, we specify
that the cell in row four, column two should span a total of three columns,
including the current row." という文は、 "...including the current column." で終える必要がありました。
- Section 13.2
- "User agents must render alternate text
when they cannot support ..." で始まる文の "text" であるべきところが "next" になっていました。
- Section 13.6.2
- 第2段落の最後の文が、IMG要素とINPUT要素両方の話のように書かれていました。けれども、ismap属性はINPUT要素には存在しません。そこで、当該の文はIMG要素のみの話として書き換えました。
- Section 14.2.3
- STYLE要素の属性リストからtitle属性が漏れていました。
- Section 14.3.2
- 2番目の文例がtitle="Compact"となっていた誤りを、
title="compact"のように直しました。
- Section 15.1.2
- 末尾が "the align attribute." であるべき文例が、 "the align element." だったのを直しました。
- Section 15.1.3.2
- CSSのIDセレクタ利用文例に "BR.mybr { clear: left }" と書いてあったのは誤りで、 "BR#mybr { clear: left }" という具合に直しました。最初のはCLASSセレクタの書き方でした。
- Section 16
- すべてのDTD断片の例示部分に "THE_LATEST_VERSION_/frameset.dtd" などと不要なシステム識別子がついていました。これは "http://www.w3.org/TR/REC-html40/frameset.dtd" となるよう直しました。
- Section 16.3 及び Section 16.3.1
- 16.3の2番目の例文と16.3.1の例文に、間違ったDTDを使っていました。現在は Transitional DTD に改めました。
- Section 17.5
- BUTTON要素の「他に使用可能な属性」の中から、id、class、lang、dir、title、style、そしてtabindex属性が漏れていました。また、usemap属性も直しました。
- Section 17.6/17.6.1
- OPTION要素とOPTGROUP要素の「他に使用可能な属性」に、間違ってonfocus、onblur、onchange属性が載っていました。また、SELECT要素の「他に使用可能な属性」が消えていました。
- Section 17.9.1
- LABEL要素に存在すると記されていたtabindex属性は、本当は存在しません。
- Section 17.12.2
- 「以下の要素にreadonly属性が設定できます:INPUT要素とTEXTAREA要素。」であるべきだった文が、「以下の要素にreadonly属性が設定できます:INPUT要素、TEXT要素、PASSWORD要素、TEXTAREA要素。」となっていたので直しました。
- Section 18.2.2, "Local
declaration of a scripting language"
- 最初の段落は、元は次のように書いてありました。「各SCRIPT要素に対してtype属性を用いると、その要素のスクリプト言語を指定できます。当該文書の基準スクリプト言語設定が記されていない場合は各SCRIPT要素においてスクリプト言語を指定しなければなりません」。 実際のところ、SCRIPT要素のtype属性は必須なので、現在は次のように書き換えられています。「文書中の全SCRIPT要素には、type属性を設定する必要があります。SCRIPT要素のtype 属性の値は、当該文書の基準スクリプト言語指定を上書きします」。
- Section 24.2.1 と HTMLlat1.entの中
- The comment for the character reference "not" read "= discretionary
hyphen". This has been removed.
The FPI in comment read "-//W3C//ENTITIES Full Latin 1//EN//HTML",
instead this is now "-//W3C//ENTITIES Latin1//EN//HTML".
- Section 24.3.1 と HTMLsymbol.entの中
- The FPI in comment read "-//W3C//ENTITIES Symbolic//EN//HTML",
instead this is now "-//W3C//ENTITIES Symbols//EN//HTML".
- Section A.1.1, "New elements" (初版で
A.1.1だった部分) と Section A.1.1, "Deprecated elements"
(初版で A.1.2だった部分)
- S要素は新登場でかつ非推奨なのですが、HTML3.2から4.0での変更点の中の変なところに記載されていました。実際はHTML
3.2には存在しなかった要素です。現在は新登場(でかつ非推奨)という紹介にしてあります。
- Section A.1.3 (初版で A.3だった部分)
- 表(TABLE要素)にlongdesc属性が存在するかのように書いてありました。実際はsummary属性が、表に関する補足内容を記すものです。
- Section B.4
- 「LINK要素にrel="start"属性・値とtitle属性とを設けることで、サーチエンジンへの情報を提供できます...」のように書くべきだった文が、「LINK要素に
rel="begin"属性・値とTITLEとを設けることで...」のようになっていました。近辺の文例で同様の間違いをしていました。
- Section B.5.1
- 「TABLE要素のwidth属性によって...」であるべき文が、 「TABLE要素のwidth-TABLE属性によって...」となっていました。
- Section B.5.2
- The sentence "Rules for handling objects too large for a column apply
when the explicit or implied alignment results in a situation where the
data exceeds the assigned width of the column." read "too large for
column". The meaning of the sentence was unclear since it referred to
"rules" governing an error condition; user agent behavior in error
conditions lies outside the scope of the specification.
- Index of attributes
- BASE要素のhref属性に非推奨という表示がありました。けれどもそれは間違いです。BASE要素のhref属性は Strict DTD にも存在します。
SCRIPT要素のlanguage属性から非推奨という注意書きが抜けていました。Strict DTD からは削除されていますので、属性一覧にも注意書きをつけました。
- Section 2.1.3
- "Relative URIs are resolved ..." was "Relative URIsare resolved ...".
- Section 2.2.1
- The second word "of" was missing in "Despite never receiving consensus
in standards discussions, these drafts led to the adoption of a range of
new features."
- Section 3.3.3
- The sentence "Element types that are designed to have no content are
called empty elements." contained one too many "elements". The word "a"
was missing in the sentence "A few HTML element types use an additional
SGML feature to exclude elements from a content model".
Also, in list item two, a period was missing between "optional"
and "Two".
- Section 3.3.4
- In the section on "Boolean attributes", the sentence that begins "In
HTML, boolean attributes may appear in minimized ..." included a bogus word
"be".
- Section 6.3
- The sentence beginning "For introductory information about attributes,
..." read "For introductory about attributes, ...".
- Section 6.6
- In the first sentence of the section on Pixels, "is an integer" read
"is integer".
- Section 7.4.1
- The first word "The" was missing at the beginning of the section title.
- Section 7.4.4
- The last word "a" was missing in the sentence "The meaning of a
property and the set of legal values for that property should be defined in
a reference lexicon called profile."
- Section 7.5.2
- "Variable déclarée deux fois" read "Variable déclaré deux fois".
- Section 9.2.2
- The language of the quotations was "en" instead of "en-us", while in
British English, the single quotation marks would delimit the outer
quotation.
- Section 9.3.2
- In the first line, the sixth character of "
" was the letter
'O' instead of a zero.
- Section 10.3.1
- "(they are case-sensitive)" read "(the are case-sensitive)".
- Section 12.1.1
- In the sentence beginning "Note that the href attribute in each source
..." the space was missing between "href" and "attribute".
- Section 12.1.2
- The sentence "Links that express other types of relationships
have one or more link types specified in their source anchors." read "Links
that express other types of relationships have one or more link type
specified in their source anchor."
- Section 12.1.5
- The second paragraph reads "the hreflang attribute
provides user agents about the language of a ..." It
should read "the hreflang attribute provides user agents with
information about the language of a ..."
- Section 13.3.2
- In the sentence beginning "Any number of PARAM
elements may appear in the content of an OBJECT
or APPLET element, ..." a space was missing
between "APPLET" and "element".
- Section 14.2.2
- There was a bogus word "style" at the beginning of the sentence "The
style attribute specifies ..."
- Section 17.2
- In "Those controls for which name/value pairs are submitted are called
successful controls" the word "for" was missing.
- Section 17.10
- There was a bogus word "/samp" just before section 17.11.
- Section 17.11
- The first sentence read, "In an HTML document, an element must receive
focus from the user in order to become active and perform their tasks"
(instead of "its" tasks).
- Section 18.2.2
- Just before section 18.2.3, the sentence that includes "a name
attribute takes precedence over an id if both are set." read "over a id if
both are set.".
- Section 19.1
- The section title read "document Document Validation". It now is
"Document Validation".
- Section 21
- The FPI for the Transitional HTML 4.0 DTD was missing a closing double
quote.
- Section B.5.1/B.5.2
- This sections referred to a non-existent cols attribute.
This attribute is not part of HTML 4.0. Calculating the number of columns
in a table is described in section Section 11.2.4.3, in the chapter
on tables. In sections B.5.1 and B.5.2, occurrences of cols
have been replaced by "the number of columns specified by the COL and COLGROUP elements".
- Section B.5.2
- In the sentence "The values for the frame attribute have been chosen to
avoid clashes with the rules, align and valign attributes." a space was
missing between "the" and "frame" and the last attribute was
"valign-COLGROUP".
- Section B.10.1
- The last sentence read "Once a file is uploaded, the processing
agent should process and store the it appropriately." "the it" was changed
to "it".
- Index of Elements
- "strike-through" in the description of the S
element read "sstrike-through".