• ベストアンサー

XHTML1.0で空要素タグの「/」は省略可能か

XHTML 1.0で、エンコードがUTF-8であるなど一定の条件を満たせばXML宣言の省略は可能と聞きましたが、 空要素タグの「/」についてはどうでしょうか。 あるサイトで、XHTML 1.0で書かれているはずのページで、空要素タグに「/」が入っていないので (つまり、<br>とか<img src="...">のようになっている) ちょっと気になりました。 ブラウザーでは一応ちゃんと表示されてはいるようですが。

  • Nao_F
  • お礼率48% (15/31)
  • HTML
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

XHTMLでは「空要素タグには/を入れなければならない」ので、その「あるサイト」の方が間違えています。 ブラウザ側の動作としては「ちょっとした誤記のためにまったく表示出来なくなる」と不便になるので、 エラーを無視してるだけです。 「ブラウザで表示できるからこれで大丈夫」といった判断はしないほうが良いでしょう。

Nao_F
質問者

お礼

ありがとうございました。 数日前に見たときには件の状態だったのですが、質問投稿直後に再度見てみたらなおっていました。 どうやら制作者側の方でも問題を認識したようです。

関連するQ&A

  • 空要素タグは/>で閉じてはいけないのですか?

    空要素タグは/>で閉じてはいけないのですか? <img src="URL" alt"説明" />をAnother HTML-lintでチェックをしてみたのですけど、 「XHTML以外では、空要素タグを /> で閉じることはできません。」と出てきました。 FC2ブログを使ってるんですけど、テンプレートのメタタグとかには全て/>が入っていました。 空要素の/>はやめた方がいいのでしょうか。

    • ベストアンサー
    • HTML
  • createElementによる空要素の生成について

    こんにちは。 createElementで出来る要素の生成についての質問です。 createElementでbrやimgなどの空要素を生成したいのですが、できあがったもののソースを見ると、「<br>」や「<img>」など終了タグがついていないものが生成されてしまいました(Firefoxの「選択した部分のソースを表示」で確認)。 XHTML文書としてページ作成しているので、どうにも具合悪いです。 終了タグのついた空要素の生成方法など、対処法があれば教えていただけないでしょうか。

  • XHTML1.1で空要素タグを書くと、W3CのValidatorでエラ

    XHTML1.1で空要素タグを書くと、W3CのValidatorでエラーが出てしまいます。 下記のXHTMLをW3CのValidatorでチェックをすると、body内の<br />の箇所でエラー出てしまいます。 =========================================================== <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title></title> </head> <body> <br /> </body> </html> =========================================================== エラーの内容は下記の通りです。 document type does not allow element "br" here; missing one of "ins", "del", "h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "pre", "address", "fieldset" start-tag <br /> The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element. One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>"). =========================================================== <img>などの<br />以外の空要素タグを入れても同様のエラーが出ます。 ただし、<div><br /></div>とするとエラーが出ません。 XHTML1.1の仕様では、空要素タグはブロック要素タグなどで囲わないといけないのでしょうか? もしくは、記述になにか間違いがあるのでしょうか? ご教示をお願いいたします。

    • ベストアンサー
    • HTML
  • xhtmlについて

    xhtmlについて2点質問があります。 1.xmlの先頭1行のような記述は必要ですか? xmlは<?xml version="1.0" encoding="UTF-8" ?>のような宣言を1行目に必ず記述する必要がありますが、xhtmlもそうなのでしょうか?W3CのValidatorを使ってみましたが、あってもなくても違いが無かったようです。厳密には在った方が良いのですかね? 2.エンコードはUTF-8にするべき? xmlは基本的にencoding="UTF-8"ですが、UTF-8だと日本語表示が出来ません。しかしshift-jisはあまり推奨されないという話も聞いたことがあります。質問1の記述が必要になった場合、encoding="UTF-8"にするべきなのでしょうか?UTF-8がどれだけ普及しているのかも気になります。

    • ベストアンサー
    • HTML
  • XHTMLとHTMLの違いについて

    XHTMLのHTMLの違いについて教えてください。 勉強するものの、これといった違いが判らずにこまってます。 (今のところ、HTMLとは記述方式が違うんだよ~とか、XMLの宣言が必要なんだよ~、ということはわかったのですが) (参考したURL) http://www.atmarkit.co.jp/fxml/askxmlexpert/022xhtml/22xhtml.html HTMLとXHTMLの違いとして以下の点が挙げられていることがわかりました。 ----------------------------------------------------------------- 1.文書は整形式でなければならない 2.要素名及び属性名は小文字でなければならない 3.非空要素には終了タグが必要である 4.属性値は常に引用符で括られなければならない 5.属性の省略化はしてはならない 6.meta、hr、br、img などは、空要素として書く 7.属性値内での改行を含む複数の空白は1つと見なす 8.スクリプトおよびスタイル要素の定義が異なる 9.要素の入れ子などSGMLの排除機能を再現できない 10.‘id’および‘name’属性をもつ要素は、‘id’属性を使用する ----------------------------------------------------------------- とあるのですが、違う部分っていうのは「こういった定義部分だけ」であって、動作として大きな違い「ここが違うんだ」といった部分はないのでしょうか? 「書式が厳密になっています。」言葉から、XHTMLは「HTMLをより厳密に書くもの」ということなのでしょうか? また、10番目の、 「‘id’および‘name’属性をもつ要素は、‘id’属性を使用する 」について、イメージできなかったのですが、一体何のことを言っているのでしょうか? 例えば、JavaScriptを使用して、要素を操作する場合は、 getElementById("ID名")にて、操作を行うべきである、と言っているのでしょうか?

    • ベストアンサー
    • HTML
  • XXXXXX では空要素タグを `<TAG />`

    ソース内でonclick 属性を使っているので http://www2010.chin3.net/tech/html/009.html を参考に、 <meta http-equiv="content-script-type" content="text/javascript" /> を入れたのですが、 Another HTML Lintでソースをチェックしたときに 75. XXXXXX では空要素タグを `<TAG />` と書くことはできません。 *5* XHTML以外では、空要素タグを /> で閉じることはできません。 というエラー内容になりました。 <meta http-equiv="content-script-type" content="text/javascript" /> の何がダメなのでしょうか? そもそも「XXXXXX では」の「XXXXXX」の意味が不明だし、 「空要素タグ」とは、何を指してるのでしょうか?

    • ベストアンサー
    • HTML
  • 空要素タグ??

    ブログのSEO対策の為に以下のページに自分のページURLを入れ タグが上手く書けているかをチェックしました ​http://openlab.ring.gr.jp/k16/htmllint/htmllinte.html​ すると、その中の回答に 空要素タグ の要素には空白さえも含めることはできません。 という問題点を指摘されました これの意味は XMLの Content of Elements(J)では、空要素タグは、<tag></tag> のように開始タグと終了タグをくっつけて書かなければならないとされてます。つまり、空白も含めることはできません。 という事です そして対象となる部分は以下のタグのどこかにあるようなのですが まったく検討がつきません どこがエラーの対象なのでしょうか? ちなみにブログはMTですのでカスタマイズは問題ありません よろしくお願いします <h2 class="archive-header"><$MTBlogName encode_html="1"$>項目一覧</h2> <div class="entry" id="entry-999"> <MTCategories> <h3 class="entry-header"><a href="<$MTCategoryArchiveLink$>"> <$MTCategoryLabel cutfirstchar="4"$></a></h3> <$MTCategoryDescription$> <div class="entry-content"> <div class="entry-body"> <MTEntries lastn="999"> <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>&nbsp;|&nbsp; </MTEntries> </div> <p class="entry-footer"></p> </div> </MTCategories> </div> <p><br /></p> <div class="gotop"><a href="#TOP">このページのトップへ&uarr;</a></div> </div> </div>

  • 一つのタグ内での要素の優先順位?ってあるのでしょうか?

    こんにちは。よろしくお願いします。 自分が作成していたWebシステムのページをアクセシビリティチェックツール~にかけ出てきたエラーのことでちょっと疑問に思い質問させていただきます。 ・一つのタグ内の要素の優先順位は、厳密に言うとあるのだろうか? ということなんですがー。。。 チェックにかけた項目は <img>タグです。 ・<img src ="img.gif" alt ="イメージ画像" width ="100" height ="100"> と ・<img src ="img.gif" width ="100" height ="100" alt ="イメージ画像"> と、の違いなのですが、上記タグではOKが出るのですが、下記タグでは、間違い!!と表示されるようです。 この場合、<img>タグ内の要素について、src→alt→width→heightという優先順位がついているのか、それとも、ただ単にそのアクセシビリティチェックツールのバグなのか。 タグ内要素の優先順位~についてご存知の方がいましたら、ご教授願えませんでしょうか?よろしくお願いします。

    • ベストアンサー
    • HTML
  • Another HTML-lint gatewayでHTML文書の文法

    Another HTML-lint gatewayでHTML文書の文法をチェックしましたが、次の項目の修正方法がわかりません。 HTMLヴァージョンは「XHTML1.0 Transitional」(DreamweaverCS5) (1)空要素タグ <img> は <img /> として閉じなければなりません <p>    <img src="image/otaxoutline.JPG" width="480" height="360" alt="oxox"></p> (2)空要素タグ <img> の要素には空白さえも含めることはできません p class="menu-left"><a href="http://twitter.com/xxxx"><img src="image/otaxtwitter.jpg" width="85" height="45" alt="oxox"> </a></p> (3)空要素タグ <br> の要素には空白さえも含めることはできません (4)空要素タグ <br> は <br /> として閉じなければなりません by <a href="http://www.automatic-link.net/" target="_blank">oxox</a><br> (5)空要素タグ <hr> の要素には空白さえも含めることはできません (6)空要素タグ <hr> は <hr /> として閉じなければなりません <p class="center">                 <a href="http://www.otax81.com/FormMail/contact/FormMail.html"><img src="image/otaxtoiawaefooter.jpg" width="435" height="171" alt="footer問合せ"></a></p> <hr> <参考> http://openlab.ring.gr.jp/k16/htmllint/htmllint.html http://otax81.com/

  • XHTMLでサイトを作ったのですが・・・

    XHTMLでサイトを作りました。 このサイトにアフィリエイトコードを貼ったのですが、発行されたimgタグに終了タグがついておらずXHTMLではエラーとして判定されてしまいます。 Content-Typeはtext/htmlで宣言しているので、ブラウザを通して見る限りサイトが崩れて見えるということはありません。 しかし、XHTMLの文書コード上は終了タグがない場合は重大なエラーとして判定されると聞きました。 このエラーが検索順位にそれほど関係しないのであればそのままでもいいと思っているのですが、もし関係があるのでしたら何とかしたいと思っています。 この問題について、お詳しい方がいらっしゃいましたら、お手数をおかけしますが回答をいただければ幸いです。

    • ベストアンサー
    • HTML

専門家に質問してみよう