(作成日 H14.07.11
改訂 H15.10.17)
HTML宣言に先立って、HTMLの記述に使用する「タぐ」の種類、扱い方を定めたDTDを宣言します。ブラウザは、この宣言の「URI」を参照して、画面を表示します。
現在最も使用されている「HTML4.01」には下記3っつのタイプがあります。
書き方は2行にわたって書き、DTDファイルの場所を明示的に指定することになってます。
◇ 1-1-1 Transitional
HTML3.2からの全タグとHTML4.01のタグを使用する場合に宣言する。
(現在最も多く使用されている文書型です。)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html40/loose.dtd">
◇ 1-1-2 Strict
HTML4.01の中で一番厳格な定義。廃止予定のタグなどは使用できない。
(XHTML、XMLを目指すなら、先ずこの文書型を使い慣れておく必要があります。)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html40/strict.dtd">
◇ 1-1-3 Frameset
フレーム関連と廃止予定の要素や属性を含むすべての要素と属性が定義されている。
(フレ−ムのページに使用。内容のフアイルに就いてはTransitional文書型で良い。)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html40/frameset.dtd">
以上HTMLのバージョン4.01関係だけを表示しました。
バージョンが異なるとルールが違ってくることもあります(使用できる要素や属性が異なるなど)。また、上記のように、タイプが異なれば適用範囲にも差ができてきます。そのため、HTMLを正しく解釈してもらうためには、自分の書いたHTMLがどのルールによるものかを明記しておかなければなりません。
ここで、私の場合を例にとりますと、Another HTML-lint で「htmlのチエック」の際、冒頭に下のエラーが指摘されました。
最初の記述が DOCTYPE宣言ではありません。 *3*(注:文法的にもHTMLとしても正しいが、WAIやRFCで
推奨されていないものの記号です。)以下は指摘事項についての解説です。
HTMLには、いろいろな仕様(ヴァージョン)があります。DOCTYPE宣言は、文書がHTMLであり、さら
にどの仕様のHTMLで書かれているのかを明示するものです。DOCTYPE宣言がなくても、たいていのWWWブ
ラウザは(自分の都合のいいように)HTMLを表示してくれますし、まじめにDOCTYPEによってHTMLの評価を
変えてくれるWWWブラウザが現存するのかどうか知りません。しかし、DOCTYPE宣言は書くようにしまし
ょう。
DOCTYPE宣言は、<!DOCTYPE 〜> という書き方をします。"!" を書き忘れていないか
チェックしましょう。
HTMLの場合のDOCTYPE宣言は、<!DOCTYPE HTML 〜> となります。実は、この中にあるHTMLという
記述が、HTML全体をくくる <HTML>〜</HTML> を表わしているのですが、Another HTML-lint
ではHTML以外は想定していません。
このように全編にまたがり、間違い箇所を指摘し解説しています。(DOCTYPE宣言とは?の理解の一助の
ために引用)〕
現実に、ホームページビルダーで作成すると、自動的に下のように「文書型宣言」が記入されます。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
また、Another HTML-lint による「htmlのチエック」の際、上の宣言がされていなかったので「HTML4.01 Transitionalとしてチエックしました。」と、ことわり書きがありました。このように特別な目的がない限り「HTML 4.01 Transitional」の使用が一般的であるようです。
<html> :ソースがhtmlで記述されていることを宣言しています。
私のの場合双方とも<html>としか記述しませんでした。
- Another HTML-lint の△警告
- <HTML> には LANG 属性を指定するようにしましょう。 →111
解説:<HTML> には、LANG属性を使ってその文書の言語を明示しておくことがWAIで薦めら
れています。
日本語の場合は次のようにします。
<HTML lang="ja">
<HTML lang="ja-JP">
と、改善を要求されました
<head>〜</head>間にはドキュメントのタイトルの特徴、製作者の情報をはじめとする、
ドキュメントに関する情報を記述します。この中に記述された情報は、<TITLE>〜</TITLE>
にはさまれたテキスト以外、基本的にブラウザ
(具体的にはIE使用モニター画面、NN使用モニター画面のこと)には表示されません。
(ホームページ作成ソフトを使用した場合は、適宜最低限の情報を自動的に下記のとおり記述してくれます。)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META name="GENERATOR" content="IBM WebSphere Homepage Builder V6.0.1 for Windows">
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Style-Type" content="text/css">
<TITLE></TITLE>
</HEAD>
HTMLの先頭についている<META>ですが、文書の著者、キーワード
、有効期限などを表したり、プロパティを設定した
りするために使用されます。「name」属性でプロパティを表し、「content」属性でその値を設定し
ます。ただし、HTML4.01では、各プロパティとその値については定義されていません。
- 1.<META name="GENERATOR" content="IBM WebSphere Homepage
Builder V6.0.1 for Windows">
上は、ホームページ・ビルダーで作成したことを示しています。
私は以前、ワード97で作成していましたので、そのときは、
<META NAME="Generator" CONTENT="Microsoft Word 97">でした。
その次は専らフロントページ・エクスプレスで作成したので
<meta name="GENERATOR" content="Microsoft FrontPage Express
2.0">
のようにソフトが勝手に記入します。これでだいたいお分かり頂けたかと思います。
- 2.<META http-equiv="Content-Type" content="text/html;
charset=Shift_JIS">
現在日本語で書かれているHTMLの多くには、文字コードとして JIS、Shift JIS、EUC
が利用されています。UTF-8 なども見られます。HTMLがどのコードで書かれているのかを明示するために、このタグを書くようにしましょう。
<META http-equiv="Content-Type" content="text/html; charset=ISO-2022-JP">
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
これらのどれか適切なものを書けばいいのです。こうしておくと、よくできたWWWブラウザでは、文字コードのエンコーディング指定が欧米などになっていても、正しく日本語が表示されます。(文字化け防止)Mozillaなどでは、表示するフォントを指定されている文字コードごとに指定できるようになっています。<META> で文字セットを指定していると、それに対応したフォントで表示してくれます。
また、<META> での文字セットの指定がない場合、文字コードのエンコーディング指定を日本語(自動判別)にしてあると、Shift JIS と EUC の誤認識をすることもまれにあるようです。
- 3.<META http-equiv="Content-Style-Type" content="text/css">
デフォルトのスタイルシートタイプを記述します。
以上挙げた3つの<META>タグはページ作成ソフトが自動的に書き込みます。これらの記述がなくとも大体の場合は問題なくブラウザは解釈してくれますが、ブラウザに依存しなければ表示できないようなHTMLでは意味がありませんので、必ず記述するよう心がけが肝要です。
- 4. <META HTTP-EQUIV="content-script-type" CONTENT="text/javascript">
デフォルトのスクリプトタイプを記述します。
- 5.<META NAME="keywords" CONTENT="単語,単語,...">
検索エンジンの検索キーワードとなる文字列を記述します。カンマ区切りのテキストですが、検索エンジンによって最大文字列長はまちまちです。自分のページでアッピールしたい項目・ジャンルなどを単語で入れておきます。10ケ位は平気です。(参照:利根町HPのソースを・・・私もトップページに10語ほど入れておきました。)
- 6.<META name="ROBOTS" content="noindex,nofollow">
また、諸般の事情によっては余り公表せず友人間だけで楽しむホームページだってあります。自分のホームページが検索ロボットに検索されたくない場合は、上のようにします。
- 7.<META NAME="description" CONTENT="解説文">
ページの解説の文章を記述します。ロボット型サーチエンジンではこの記述を解説文として拾います。
- 8.<META name="author" content="著作者名">
製作者が誰であるかを示しています。
- 9.<META name="copyright" content="著作・編著者名">
著作権所有者をを示しています。
- 10.<META name="reply-to" content="xx@xx">
必要があれば連絡先の表示にも使用することができます。
会社、団体等でcontentのあとの””の間にメールアドレスなどの連絡先を入れます。個人の場合プライベートに関するものは止しましょう。
自分の意思で表示したい重要な
項目が2つ3つあります。
タイトル名を入れることで、
-
タイトルバーにそのページのタイトルが表示されます。
- タスクバーにも表示されます。
- この指定がないときには「フアイル名」がタイトルに見做されます。
フアイル名の前後に飾りの「ーーー」や「◇◇◇」が長く入れてあった場合でも、そのままタイトルに見做され唖然とします。
- IEの「お気に入り」やNNの「ブックマーク」に登録される名前になります。(ダウンロードで名前を付けて保存しようとした時やお気に入り登録のときによく出合うことがあります。)
- ホットリストなどでページの指定に使われているものが多く見かけます。
<BASE HREF="***">は、このフアイルのURLを宣言します。
「***」には現在のページのURLをフルバス(=絶対バス
)で記入します。例えばこのページを例に説明すると下記一行になりますが、これを記入するのです。
http://www.ne.jp/asahi/minnade-hp/toyoshima/css_josho2.html
( http:// は、「ホームページへのアクセス手段」
www.ne.jp/asahi/ は、プロバイダーである「ホスト名」
minnade-hp/toyoshima/ は、「バス名」
v.html は、「フアイル名」
の意味です。アクセス手段としては他にGopher, ftp ,Waisなどがあります。)
これを書いておくと、同一ページ内で相対バスで書かれた、リンクや画像URLがこの <BASE>タグで指定されたURLを基準に認識されるようになることです。
トップへ戻る
総目次へ戻る
スタイルシート目次へ戻る
メモ帳で作るHPへ