スタイルシートマニア

ホームページカスタマイズ Tips

XHTMLにおけるname属性

HTMLではa、map、form、imgの各要素にname属性を付けていました。
しかし、XHTML1.0ではform要素とimg要素のname属性が廃止され、更にXHTML1.1では、a要素、map要素のname属性が廃止されています。

要はXHTMLを使う時、
データ送信時のname(input、textarea、select、button)
他から参照されるname(object)
パラメータのname(param)
プロパティーのname(meta)
以外は使うなっと言う事です。

XHTML

CSSを使ったレイアウトでWebサイトを作るには、XHTML(Extensible Hyper Markup Language)というHTMLの機能拡張型といった感じのマークアップ言語というものが必要になります。
『そんなのわかんねーよ!』っと身構えなくても大丈夫です。要はHTMLです。むしろHTMLより簡単になっていると思います。なのですぐ自由自在に使えるようになります。

このXHTMLとはHTMLでは機能的に不十分であった電子文書や電子データの作成に特化したXML(Extenisble Markup Language)を導入することで、HTMLを再定義し、それを使った文書やデータを作成できるようにしたものです。
まあ、とにかくXMLでHTMLの機能を拡張させたのです。
このXHTMLには、XHTML1.0とXHTML1.1がの二つがあります。

XHTML1.0のDOCYPEの宣言には「Strict」「Trasitional」「Frameset」の3つの文章型が用意されています。

なんですかこれ?って感じですが。。。
これは、難しい言い方をすると非推奨要素・属性を使用する(文章構造と視覚表現を厳密に分離する)かどうか?砕けた言い方をすると、、マークアップ言語を厳密に正しく使うか?文章を構成するものとレイアウトするものを正しくきちっと分けるか、ちょっと適当に分けるか?
の宣言です。
ただ、Framesetに関しては、フレーム仕様のWebサイトですよ!っていう宣言になります。

以前はフレーム仕様のサイトもそれなりに存在していたようですが、これはブラウザがフレームに対応していなかったり、SEO的にも各フレームをクローラーが別々にデータ化してしまって実際検索をかけてそのページにたどり着いたけど、ナビゲーションのフレームがなくて他のページが見れなかったりと結構難点が多くて最近ではほとんど見なくなりました。っというか消滅です!
だから、このFramesetはほとんど無視してもらってもかまいません。

作りたいのであれば別なのですが次で紹介するXHTML1.1では抹消されています!

XHTML1.1って?

実はこれのDOCTYPE宣言は、Strictしか存在しません。本当に超厳格にマークアップしないと怒られます。(実際には怒られたりしません)
これのいいところは、モジュール化という仕組みが取り入れられていて、目的に合ったモジュールを使用してサイトを構築したり、見る側にも自分に必要なモジュールをダウンロードして、機能を拡張してサイトを閲覧したりすることができます。

しかし、これらの機能に対してちゃんと対応していないブラウザが多くいので使わない方が無難ではあります。