
当方、HTML5初心者(勉強中)のため、分かりやすく説明して頂ければ幸いです。
HTML4.1で書かれたページをHTML5にするとしたら、デコード宣言(HTML5から追加や変更&廃止になったタグも含む)。
上記以外で直すべきところはありますか?
あるのであれば例を挙げて頂ければ幸いです。
また、フレーズ・コンテンツの中にフレーズ・コンテンツが入っているというのはマズいのでしょうか?
例
<p>今日は<span class="gray">曇りだ。<span class="文字サイズ変更">そして寒い。</span></span></p>
など。今までインライン要素・ブロックレベル要素と分かれていた要素が細かく分類されていますよね。
この分類によって何か記述のルール変更等はあるのでしょうか。
No.2ベストアンサー
- 回答日時:
念のため、HTML5 と HTML 4.0 の相違点は下記を参照して下さい。
http://standards.mitsue.co.jp/resources/w3c/TR/h …
繰り返しますが、HTML 4.0 における廃止予定(非推奨)要素・属性を使わずに書いていたのであれば、HTML5 として修正すべき部分はありません。もし残念ながらそれらを用いていたのであれば、いったん HTML 4.01 Strict に直して下さい。その方が、直接 HTML5 に直すよりは幾らかメリットがある気がします。
HTML 4.01 Strict であれば、下記を除き HTML5 にもそのまま適合します。
・acronym を abbr に直す
・a の @rev と @charset を消す(RDFa を使う場合は注意)
・img の @longdesc を消す(WAI ARIA で代替可)
・img の @name を @id に直す(HTML 4.0/XHTML 1.0 の時点で直しておくべき)
・head の @profile を消す(GRDDL を使う場合は注意)
・meta の @scheme を消す
・object の @classid、@codebase その他を消す(Flash などを使っている場合は注意)
・th、td の @axis と @abbr と @width と @height を消す
・td の @scope を消す(WAI ARIA で部分的に代替可)
・table の @frame と @width を消す
・col の @width を消す
・head 内の object を消す
・meta の @http-equiv で、"Content-Style-Type" および "Content-Script-Type" であるものを消す
これら以外のものは、HTML 4.01 Strict に直した時点で警告されるはずです。また、HTML5 チェッカならもっと細かい警告を出すでしょうから、その指示に従って下さい。
ですが、もっと重要なのは要素型の意味(使い所)です。
・b はキーワードなど、特別な意味を持たないが表現を変えたい語句を表します
・i は学名など、通常とは異なるニュアンスの語句であることを表します
・hr は段落レベルでの主題変化(場面転換など)を表します。
・small は本題とは区別したい脚注や法的条項などを表します。
・strong は重要語句を表します。
・em は強調語句を表します。
・cite は作品名を表します。
・sup、sub は、上付き・下付きにしないと意味が変わってしまうようなもの(数式など)に使用します。
これらは HTML 4.0 にもありましたが、HTML5 で意味が変更されたものです。これらは機械的なチェックができません。HTML5 ブラウザは HTML 4.0 文書でも XHTML 1.0 文書でも上記の意味に基づき解釈するでしょうから、これに関しては十分に注意して下さい。
--
なお、HTML 4.0 で使えたタグ短縮・省略は、HTML5 でも使える場合があります。
<!DOCTYPE html>
<title>タイトル</title>
<p>段落
これは間違いではなく、真っ当な HTML5 文書です。タグを打ち込むのが面倒であるなら、場合によってはこうした省略を駆使するのもアリでしょう。少なくとも、書くべきタグを書かないよりは、幾らかマシです。
度々ありがとうございます。
せっかく勉強中なものですから正しい構文をキチンと学びたいです。
<span>で文字の装飾を引き継いだまま、次の装飾を指定すると言うことはダメなのでしょうか(一旦</span>で閉じてから新たに指定をし直すべきですか?)。
意味が変更になったタグは置き換えましたが、既存ページの移行をする予定はひとまず保留にしています。
今まで何気なく使ってきた「文字の装飾」について新規ページをHTML5で作成する際に独学ゆえ気になりました。
大変分かり易い回答をありがとうございます。
先ほどの件に戻ります。
実際にはCSSにて色の指定や大きさなどしてありますけれど、正しい装飾の方法を教えてください。
No.1
- 回答日時:
HTML 4.1 というのは公式に存在しません。
HTML 4.01 の間違いでしょうか。> 直すべきところはありますか
ありません。デコード宣言なるものはよく分かりませんが、HTML5 は大部分、HTML 4.0 を包含するように設計されています。
そもそも、HTML5 で廃止された要素・属性の大部分は、HTML 4.0(1997 年勧告)で廃止予定(しばしば非推奨と曖昧に訳される)とされていたものです。それらは XHTML 1.1(2001 年勧告)において実際に廃止されています。
つまり、質問者さんが心配している HTML5 の廃止要素・属性は、十年前にとっくに廃止されているものなのです。それらが今、使えなくなっているでしょうか。そうではないでしょう。
ページ制作者は、廃止されたものを使ってはならない。しかし、ブラウザは廃止されたものであっても、一定期間はサポートし続けなければならない。これは HTML5 規定自身が明言しています。
それに、ブラウザがサポートを止めたとしても、HTML を正しく使っていれば、実は問題にならないのです。
---
<font color="gray"/> が廃止された理由は何か。それは、「文字の色」というのが文章の構成・構造とは直接関係ないからです(例外もありますが、今は考えません)。例えば、音声で読み上げる端末には、この「グレーであった語句」が何を意味するのか分かりません。
しかし、<strong/> を使って「重要語句」であることを示し、CSS で strong { color: gray } とします。すると、音声端末は strong「重要」という目印により、はっきりゆっくり読み上げることができます。HTML は意味(構成、構造)を伝え、CSS は意味を具体化します。
これを踏まえて:
> <span class="gray">
> <span class="文字サイズ変更">
このような class 属性の使い方が、廃止された font の再現に過ぎないことは明白です。HTML5 規定は、このような class 属性の書き方を「すべきでない」と明言しています。
> フレーズ・コンテンツの中にフレーズ・コンテンツ
マズいのは class="gray" などというクラス名の付け方であり、語句に <em><strong><i>...</i></strong></em>「重要 strong な学名 i の強調 em」などとタグの重ね付けをすること自体は何の問題もありません。
---
さて、HTML5 ブラウザは未知のタグであっても無視せず、「何かの目印がある」ことだけは認識します。
例えば、HTML5 では acronym 要素(頭字語)が廃止されました。一方、ある HTML 4.0 文書には acronym「頭字語」という目印が残っています。HTML5 ブラウザは、その目印が頭字語を表すものだとは「忘れてしまった」けれども、その「何か」に CSS でスタイル付けすることはできます。詰まるところ、今までのブラウザと同じ表示になります。
極端な話、ブラウザが font のサポートを止めたとしても、CSS から font[color="gray"] { color: gray } のようにすれば今まで通りなのです。何も恐れることはありません。
私は、必要に応じて HTML 4.01、XHTML 1.0、XHTML 1.1、自作 XHTML および HTML5 などを使い分けています。これらの文書型にはそれぞれの目的があり、その目的に応じて使える要素型や属性も異なるからです。
HTML におけるタグは、単なる目印に過ぎません。廃止が怖いから常に最新版を、というものではないのです。
---
もしサポートを気にする必要があるとしたら、ブラウザ内部にガッチリ食い込むようなメディア再生系列(audio、video など)です。が、そもそもこれらは HTML5 からのものであり、サポート終了を気にする段階ですらありません。
HTML による構造化と CSS によるスタイルの分離という原則は、HTML 4.0 の方が分かりやすいと思います。ですから、HTML5 よりも HTML 4.0 をきちんと覚えることをお勧めします。この原則は HTML5 に(かなり強烈な形で)受け継がれており、それを知らずにカタチだけを HTML5 にしても、ほとんど意味がないからです。
ありがとうございます。
すみません、HTML4.01の誤りでした。→HTML4.1
grayは咄嗟に出てきたものです。
途中で文字色等を変更してその指定を引き継いだまま文字サイズの変更をするためには(逆も然り)どうマークアップすれば良いのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- HTML・CSS 分数が正常に表示されない。 6 2022/05/09 18:53
- JavaScript htmlとcssで分数を表示後、分数の右側に文書を書きたい 1 2022/04/28 10:09
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- PHP アンドロイドスマホでのphp echoの文字サイズ 1 2023/05/13 15:15
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- Instagram HTML5の廃止とJavaScript 2 2022/04/13 21:05
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
質問1.
-
既婚男女の方、結婚前と結婚後...
-
改行ほどは行かないけど、若干...
-
CSS:overflow要素の印刷について
-
smallにtext-allignが効かない
-
DTDや文字コードの解釈が間違っ...
-
aの中にspan
-
含む含まないという概念自体の...
-
文字とリンク線の間隔について
-
CSSで改行後の行間調整
-
html タグの閉じスラッシュ前の...
-
INPUT TYPE ・・・
-
figcaption要素の中にul要素
-
HTMLでTextareaを横に2つ並べ...
-
【CSS】☆を子に持つ親の指定
-
下線と文字の間を調整するには...
-
Pythonについて教えてもらいた...
-
<H>タグの見出しと<P>タグの本...
-
tdに対してmin-heightの定義、...
-
C言語 並び替え(配列)について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
含む含まないという概念自体の...
-
角丸画像の背景色を透明にした...
-
改行ほどは行かないけど、若干...
-
input type="hidden"で取得した...
-
CSSで改行後の行間調整
-
質問1.
-
smallにtext-allignが効かない
-
テキストボックスの中にリンク...
-
CSS:overflow要素の印刷について
-
【ヒトの神秘】美男美女から何...
-
aの中にspan
-
textareaの幅を画面と合わせたい
-
HTML の繰返し法???
-
html タグの閉じスラッシュ前の...
-
HTMLページ上でiframeを最前面...
-
下線と文字の間を調整するには...
-
figcaption要素の中にul要素
-
メールアドレス(グループ)の...
-
emとstrongの反対
-
ある要素の中身を全部グレーア...
おすすめ情報