-
- (質問者)
- 投稿時間:2009/10/16 08:53
はじめまして、 前々から疑問に思っていたのですが 良くHTMLの先頭行に <!DOCTYPE HTML> や <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 当の文字列を見かけるのですが、 どの設定が一番ベストなのでしょうか?
- 回答数 (5)
- クリップ数 (0)
- アクセス数 (1057)
- 回答
DOCTYPE宣言の話ですね. これはW3Cなどで推奨されていますが必須ではありません. そのため,各doctypeや利用したい宣言の考え方を理解していないのであれば 宣言しないほうが無難という考え方もあります. 宣言に対しての文法チェックをしてくれるScriptなどもありますが 内容まで含めて検査できるわけではないので,Scriptを通ったからOKというわけでもないんです. 有名な話?では,Tableレイアウトとかもそうですね. tableタグを文章の配置などデザイン的に使ったりする技?です. このような事をしてる場合tableタグの記述が正しければScriptなどは通過してしまいますが, 表を作るタグなのに表として使ってないので間違った記述になってしまうんです. かなりはしょった説明ですが,そんな感じです. でも,標準化とか色々な事を考えて質問されたと思うので 一応,私のお勧めの宣言は`XHTML 1.0 Strict'と回答しておきます. せっかくなので宣言以外にも アクセシビティなども少し勉強してみたら面白いと思いますよ.
-
- (質問者)
- 2009/10/16 09:53
>> novice_seさん さっそくの回答ありがとうございます
内容まで含めて検査できるわけではないので,Scriptを通ったからOKというわけでもないんです.なるほどなるほど。。。 よくわからないで宣言するより、無難に宣言しないほうが良いというのは驚きでした。 ちなみにお聞かせ願えればと思うのですが、アクセシビティ や宣言に関して、勉強可能なよいサイトはないでしょうか?
宣言しないほうが良いと言うのも 自分で書いた癖に乱暴だなとは思っているんですけどね^^; 世の中にはマーク宣言されているのに ぜんぜん違うルールで書いているページなども多いし 質問者さんが勉強する気がないなら書かないほうが良いかも と言う意味でそう表現しちゃいました. 最近のブラウザは表示方式を複数もっていたりするので doctypeの有無により実は内部で動作が違ったりするんです. なので作成者の意図に反した表示になる危険性があったりするので... (意図に反した表示のほうが安全な場合もあるかもしれない) HTMLをビジネスで作成する場合や, 意欲的に勉強しようとされている質問者さんのような方でしたら 明確に宣言し,それに沿った文法で記述することが正解と言えるかもしれません. さてさて,本題のお勉強方法ですが, これらの事を標準化していこうよ!とがんばっているW3Cと言う団体があります. ここで,この宣言ではこのタグが使えますよ!とか このタグには,この属性が必要ですよ!とか 書いてあるので,参照されると良いと思いますが 英語なんで,私はgoogleさんなどで`W3C 日本語訳'など検索して勉強しました. アクセシビティについてもW3Cに書かれています. AAA(Triple-A)と言うのがあるので,宣言と同様に `W3C AAA 日本語'などと検索してみてはどうでしょうか. BBSでは全てを伝えることもできないし 私の表現が適切じゃない可能性や,私が誤認していることもあるかもしれないので, 簡単にイメージがつかめたらようでしたら 複数のサイトや書籍で,調査してみることをお勧めします.
-
- (質問者)
- 2009/10/16 10:27
> novice_seさん最近のブラウザは表示方式を複数もっていたりするので doctypeの有無により実は内部で動作が違ったりするんです. なので作成者の意図に反した表示になる危険性があったりするので...なるほどそういう弊害があるということが真意だったのですね。 数々の助言ありがとうございました。 大変参考になりました! W3C AAA 日本語 このあたりで基礎から勉強したいと思います。 もし他にも別のご意見お持ちの方いらっしゃいましたらよろしくお願いいたします。
DOCTYPEの宣言でのベスト、というのは制作される環境で違ってくるようです。 設定するのであれば、そのときそのときで考えて宣言を選択していくことが一番かも知れません。 このDOCTYPEの宣言で大きな影響を受けるのは「表示方法」と「タグの記述方法」です。 ですので、この点に絞って適切な宣言を行う、という判断でもいいような気がします。 (しかし、外部プログラムと連動する場合はもうちょっと考える必要が出てきます) 特に、「表示方法」の部分に関しては、コーディングをされる方の作業にかなりの影響を及ぼしてしまいます。 また、「表示方法」を切り替えると今まで正常に表示されていたモノが、全然違う表示になってしまった、という事もありえます。 もう既に宣言部分では解決なされているかも知れませんが、DOCTYPEの宣言部分の各ブラウザの「モード環境」の説明がされているサイトをご紹介いたします。 ■hxxk.jp「DOCTYPE スイッチについてのまとめと一覧表」 http://hxxk.jp/2008/09/29/0118 ここでは、「後方互換」「標準準拠」という言葉を用いて表示モードの区別をされています。 各ブラウザで表示を合わせる様にするのであれば、「標準準拠」で統一するようにします。 (標準準拠で揃えても一部崩れてしまう場合もありますが) 私はこの中ではnovice_seさんの「XHTML 1.0 Script」の一つ下のランクにあたる「XHTML 1.0 Transitional」を使用してますね。 (HTMLからの移行の際にちょっとありましたもので…) 後はHTMLかXHTMLで記述するかの違いです。 これもコーディング作業に影響することですので、適切な選択をする必要があります。 というわけで、novice_seさんとほぼ同じの意見でした。 別の意見をご希望されていたのに、ゴメンナサイ。
1
回答
2
回答
(2009/04/13 17:58)
by tokuyama_shu
- 0クリップ
- 1841アクセス
- プログラミング / 開発言語 / JavaScript
3
回答
5
回答
3
回答
2
回答
3
回答


