🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

4794閲覧

サブタイトルのマークアップ方法

ex025

総合スコア179

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2021/01/18 13:21

編集2021/01/18 13:24

HTMLでホームページを作っているのですが、サブタイトルやキャッチコピーのマークアップ方法がわからず、質問しました。
HTML5でタイトルを作成する際、もっとも適切なサブタイトルまたはキャッチフレーズのマークアップ方法はどれなのでしょうか。
以下、自分で思いついた方法やインターネットで拾ってきた実装方法です。

HTML

1<h1>タイトル</h1> 2<h2>サブタイトル<h2> 3<!--これより下層のタイトルがh3となってしまい、整合性が取れない-->

HTML

1<hgroup> 2 <h1>タイトル</h1> 3 <h2>サブタイトル<h2> 4</hgroup> 5<!--hgroupはW3Cの勧告からは削除されている-->

HTML

1<!--以下のいずれか--> 2<h1>タイトル<br>サブタイトル</h1> 3<h1>タイトル<br><small>サブタイトル</small></h1> 4<h1>タイトル<br><span>サブタイトル</span></h1> 5<!--サブタイトル自体はタイトルの一部ではないため、あまり適切ではない-->

HTML

1<h1>タイトル</h1> 2<p>サブタイトル</p> 3<!--サブタイトルとその他の要素の区別がつかない-->

HTML

1<header> 2 <h1>タイトル</h1> 3 <p>サブタイトル</p> 4</header> 5<!--ヘッダーの中に他の要素もある場合、サブタイトルとその他の要素の区別がつかない-->

他にも実装方法があると思います。

どの方法が最も適切なのでしょうか。

主に参考にしたホームページ:
HTML5日本語訳 4.12 専用要素なしの一般的語彙
サブタイトルを伴う見出しのマークアップ

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

良い機会だったので少し勉強してみました。以下は主観を交えてのコメントになります。

とりあえず結論

一般論的なルールは与えられていても、何をそのルールに当てはめるかは結局作り手が判断するしかありません。
究極的には、「作り手のポリシーに依存し、絶対的な正解はない」となると思います。

そのうえで、私の感覚で一番しっくりくるコードはというと、<h1>タイトル<br><small>サブタイトル</small></h1>ですね。

でも質問者氏におかれては、以下が要求に合致しているのかなと思います。

<hgroup> <h1>タイトル</h1> <h1>サブタイトル</h1> </hgroup>

サブタイトルとは何か

本件では「サブタイトル」をどう捉えるかが問題になると思います。

サブタイトルは私からすれば疑いようもなくa part of titleなので、hタグでくくるのが最も妥当と思います。HTML5ではhタグの下に事実上あらゆるタグが置けるようになったようなので、堂々とこういう形にしたい。

ですが、質問者氏は「サブタイトル自体はタイトルの一部ではないため、あまり適切ではない」と仰っているので、明らかに私とはサブタイトルの捉え方が違います。

そこで本家はどう言っているのか見てみたところ、

ここでは、妥当な見出しの例をいくつか示す。 <hgroup> <h1>The reality dysfunction</h1> <h2>Space is not the only void</h2> </hgroup> <hgroup> <h1>Dr. Strangelove</h1> <h2>Or: How I Learned to Stop Worrying and Love the Bomb</h2> </hgroup>

さらには

次の2つの例は、2つのh1の見出しが同じ映画に米国と英国の名前をグループするためにhgroup要素内で使用することができる方法を示す。 <hgroup> <h1>The Avengers</h1> <h1>Avengers Assemble</h1> </hgroup> <hgroup> <h1>Avengers Assemble</h1> <h1>The Avengers</h1> </hgroup>

どうやら「2番目のh1」は自動的に補助的なタイトル(原文だとsubheadings or subtitles or (secondary) alternative titles)扱いになるらしいです。この「補助的なタイトル」はたぶん質問者氏のサブタイトルの位置づけに合致しているでしょう。

複雑なことは考えたくない

なお、セマンティクスやSEOに配慮することは大切ですが、だからといって余りに複雑なコードとすべきではないとも思います。セマンティックスを勉強してすこし意識ができてくると、いろいろ考えすぎてとてつもなく複雑な論理を実装してみたくなったりしますが、受け手に理解してもらえなければ意味がありません。そのうち自分でも組み立てた論理を忘れてしまってあとで見返すときにやたら面倒だったりします。

上に述べたhgroupまわりのコードの意味するところ(さらにhgroupの機能やh1/h2のつかいわけ)について、当該の文章中で詳しく説明されているのですが、正直言って私はスッと理解することは出来ません。このHTML記述ルールに大幅な改善・改定が施されない限り、私自身がこのスタイルを採用することはないでしょう。今の所hederとかhgroupはただ冗長としか思えません。

投稿2021/01/19 07:59

KojiDoi

総合スコア13692

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ex025

2021/01/19 09:39

ありがとうございます。勉強になりました。 今回は、サイトのデザインなども考慮し、hgroupを採用することにしました。 周囲の要素との関連性も考慮しての判断です。 今後、サイトの構造によってはまた違う方法を採用するかもしれないので、この回答はとても参考になります。ありがとうございました。
guest

0

最も適切

ないと思います。
「どう見せたいか」になるのではと。
「何がサブタイトルか」というところ、定義自体もアプリケーションやサイトによって違います。

投稿2021/01/18 21:47

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ex025

2021/01/19 09:42

確かに、デザインや周囲の要素との関連、サブタイトルの位置付けなどで最も良い実装方法は異なります。 今回は、そのようなことも考慮し、hgroup要素を採用しました。 ありがとうございます。
m.ts10806

2021/01/19 19:31

>hgroup要素を採用しました。 「削除される可能性が低い」とリファレンスに書いてあるとはいえ、W3Cの勧告には従った方がいいのでは・・・。
ex025

2021/01/20 11:35

HTML5の標準はW3CではなくWHATWGであり、WHATWGはhgroup要素を削除していないため、当面の使用には問題ないと判断しました。 現在開発中のサービス自体長期的に運用するものではないため、意味を優先しても問題ない、との判断です。 ある程度長期的に運用する場合は、他の実装方法を採用すると思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問