コンテンツにスキップ

HTML Living Standard/span

出典: フリー教科書『ウィキブックス(Wikibooks)』

span 要素

[編集]

<span> 要素は、特定の文法的意味や表現を持たないインラインコンテナ要素です。主にスタイルを適用したり、スクリプトで操作する目的で使用されます。他のインライン要素(例: <em><strong>)が適さない場合に使用します。

カテゴリ

[編集]
  • フローコンテンツ
  • フレージングコンテンツ

使用される文脈

[編集]
  • フレージングコンテンツが期待される場所

コンテンツモデル

[編集]
  • フレージングコンテンツ

タグの省略

[編集]
  • 開始タグと終了タグは省略できません。

コンテンツ属性

[編集]

<span> 要素は、グローバル属性のみをサポートします。

アクセシビリティの考慮事項

[編集]
  • <span> は意味を持たないため、スクリーンリーダーには特別な情報として解釈されません。必要に応じて、aria-* 属性やラベルを追加してアクセシビリティを向上させることが重要です。
  • 過剰な使用は避け、意味を持つセマンティックな要素(例: <mark><code>)を優先して使用してください。

使用例

[編集]

基本的な使用例

[編集]

以下は、<span> を使用して部分的にスタイルを適用する例です。

<p>この文章の <span style="color: red;">一部</span> に赤色のスタイルが適用されています。</p>

クラスによるスタイルの適用

[編集]

class 属性を使用してスタイルを適用する例です。

<p>この文章の <span class="highlight">特定の部分</span> にスタイルが適用されています。</p>
CSS
.highlight {
  background-color: yellow;
  font-weight: bold;
}

スクリプトでの操作

[編集]

JavaScriptを使用して、<span> 要素を動的に操作する例です。

<p>この文章には <span id="dynamic-text">変更可能なテキスト</span> があります。</p>
<script>
  document.querySelector("#dynamic-text").textContent = "新しいテキストに置き換えられました!";
</script>

アクセシビリティ向上のためのラベル付け

[編集]

aria-label を使用して、スクリーンリーダーに情報を提供する例です。

<p>訪問者数: <span aria-label="10,000">10k</span></p>

注意事項

[編集]
  • <span> 要素を無意味に多用すると、HTMLが冗長になり、可読性や保守性が低下します。できるだけセマンティック要素を使用することを優先してください。
  • スタイル付けやスクリプトでの操作が必要ない場合、<span> を避けるべきです。

関連仕様

[編集]