はじめに2 ―要素と属性―

1.要素と属性

 前回、要素についてはチラッと話をしましたが、HTMLでは要素を表現する上で、<*>の記号で(終了部分は</*>記号)を用いて表現します(*は要素名)。

 要素名はHTML4.01では大文字でも小文字でも構いません(ただし、XHTMLと呼ばれる、HTMLの進化版では小文字でつけることになっている)が、必ず半角英数字でつけるようにしてください。また、要素名の間に空白を入れないようにしましょう。この解説では、要素名は大文字、属性名は小文字で表現する原則となっています。

 また、要素の中にはその部分が文字以外のほかのもので置き換わる(それ自体に内容がない)要素もあります。「空要素」と呼ばれるもので、これらには終了タグである</*>は必要ありません。

 また、各要素には各々属性が存在しています。要素が「それが何なのか」を表しているのに対し、属性は「その要素がどんなものなのか」を表します。基本的には要素名の直後に半角スペースを一つつけて「属性名="その値"」の形式で表します。複数指定することも出来、その場合は各々の属性間に、半角スペースを1つつけて区切ることになります。また、値の前後の"は本来必須のものですので、つける癖を付けておきましょう。
 本稿で属性の値を表す際にしばしば(URL)や*などの一般表現を用いますが、実際にHTMLを執筆する場合には、これらの値を具体的なものにする必要があります。具体的には、(URL)となっているものは実際のURLを(括弧をつけずに)記し、*の属性値は実際に任意の数値を入れることになります。( a | b )のように括弧の中で縦棒で分割されているものは、カッコ内のうちどれか一つを選択することを意味しています。なお、特に指定する必要がない要素については、省略するのが一般的なやり方です。

例:表を書く場合に一番最初に指定したもの
 <INPUT type="text" name="名前" value="デフォルト文字" size="*" maxlength="*">

2.HTMLにおける7種類の要素分類

 HTMLのほとんどの要素に関してですが、HTML4のころにはブロックレベル要素(文章の一つのまとまりを表す単位)とインライン要素(文章の限られた一部分で特に明記しておくべき箇所)に分けていました。HTML5ではそれをさらに7つに細分化・配置し直しを行いました。

メタデータ・
コンテンツ
HEAD要素内に入ってくるものすべて
(例:META、LINK、TITLE、STYLE)
フロー・
コンテンツ
BODY要素の中に入っているものほぼすべて
(見出し・段落にまつわるものや、一部分の強調・意味づけ、リンクなど)
セクショニング・
コンテンツ
文章を一定ごとに区切るための要素
ヘッディング・
コンテンツ
ズバリ見出し。Hn(n=1~6)要素全部
フレージング・
コンテンツ
文章の一部に意味づけをする要素
(A、BR、EM、IMG、SPAN、STRONGなど)
エンベディッド・
コンテンツ
HTMLの外部から様々なものを読み込む要素
(IMG、IFRAME、EMBEDなど)
インタラクティブ・
コンテンツ
ユーザーが操作できる要素
(A、INPUT、SELECT、TEXTAREAなど)

3.非推奨要素・属性のこと

 その成り立ちから相当すると、もともとHTMLには「デザイン」という概念はありませんでした。ところがインターネットが一般化する過程を経て、徐々にページの「デザイン」を凝ったものにするという志向が見られるようになってきました。

 ところが、それによって本来の要素の意味を無視した使い方(表をレイアウトにするとか)や、HTMLそのものの複雑化など、さまざまな問題を引き起こしていったのです。

 そこで、今後はHTMLの要素から「見た目」に関する要素や属性をなくしていき、そういったものはスタイルシートと呼ばれる別のテキストに任せてしまおう、という動きが出てきました。その、「なくしていく予定である」要素が非推奨要素であり非推奨属性なのです。

 では、見た目に関する要素を撤去してしまったらどうなるのでしょうか? 確かにページは地味になりますが、その反面より多くの人がそのページをきちんと(しかも、使っているブラウザに適した表現方法で)閲覧することが出来るようになります。更に、スタイルシートを用いることにより、パソコンなどの環境ではより豊かなデザイン表現ができるようになる可能性を秘めています。

 HTML4.01では、この「非推奨の要素や属性を使うか」「フレームを使うか」により、3タイプに分かれています。そのような「見た目にかかわる要素」を用いてもよし、それらを排除してより多くの環境で利用できるようにするもまたよし、です。なお、HTML5になってからはじっしつHTML4.01 Strictを根っこにした仕様が採用されているため、非推奨の要素や属性はごく一部を除いて廃止されました(箇条書きの開始番号指定など、代替するべき要素や属性がないものを除く)。

 この解説で扱うHTMLのうち、「HTML4.01 Transitional」においては、そのような非推奨属性もいくつか紹介することになります。どれが非推奨なのかも目印を付けておきます。
非推奨のHTML要素および属性←この記号があるものは、非推奨のHTML要素および属性です。
 さらに、2014年に発表されたHTML5では、見た目にかかわる要素や属性が完全に廃止になり、また、HTMLをよりウェブアプリケーションとの相性をよくするために様々な改定が行われています。その結果として、使用できなくなった要素・属性もいくつかありますので、その目印も添えておきます。
HTML5廃止要素←この記号があるものは、HTML5で廃止になったHTML要素および属性です(基本的に非推奨のHTML要素および属性がついている要素は大部分HTML5では使えないと考えて差し支えありません)。