markタグの使い方【HTMLリファレンス】

この記事では、HTMLの<mark>タグについて詳しく解説します。

<mark>タグは、テキストをハイライトして目立たせるために使われる便利なタグです。

基本的な使い方から実際の活用例、スタイリング方法、そしてよくある質問まで、初心者の方にもわかりやすく説明します。

目次から探す

markタグとは

定義と役割

<mark>タグは、HTML5で導入されたタグの一つで、テキストの一部をハイライトするために使用されます。

主に検索結果や重要な情報を強調する際に利用されます。

<mark>タグで囲まれたテキストは、デフォルトで黄色の背景色が適用され、視覚的に目立つようになります。

markタグの基本的な使い方

シンタックス(構文)

<mark>タグの基本的な構文は非常にシンプルです。

以下のように、ハイライトしたいテキストを<mark>タグで囲むだけです。

<mark>ハイライトするテキスト</mark>

基本的な例

具体的な例を見てみましょう。

以下のHTMLコードでは、重要な情報というテキストをハイライトしています。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>markタグの例</title>
</head>
<body>
    <p>これは通常のテキストです。</p>
    <p>これは<mark>重要な情報</mark>です。</p>
</body>
</html>

このコードをブラウザで表示すると、重要な情報という部分が黄色でハイライトされます。

属性の使用

<mark>タグ自体には特定の属性はありませんが、他のHTMLタグと同様に、classidなどのグローバル属性を使用してスタイルをカスタマイズすることができます。

例えば、CSSを使ってハイライトの色を変更する場合、以下のようにclass属性を使用します。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>markタグのカスタマイズ例</title>
    <style>
        .custom-highlight {
            background-color: lightblue;
            color: black;
        }
    </style>
</head>
<body>
    <p>これは通常のテキストです。</p>
    <p>これは<mark class="custom-highlight">カスタマイズされたハイライト</mark>です。</p>
</body>
</html>

このコードをブラウザで表示すると、カスタマイズされたハイライトという部分が水色でハイライトされ、テキストの色は黒になります。

以上が、<mark>タグの基本的な使い方とそのカスタマイズ方法です。

次のセクションでは、<mark>タグの実用例について詳しく見ていきます。

markタグの実用例

テキストのハイライト

検索結果のハイライト

markタグは、特に検索結果のハイライトに非常に有用です。

例えば、検索エンジンやサイト内検索機能でユーザーが入力したキーワードを強調表示する際に使用されます。

以下はその具体例です。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>検索結果のハイライト</title>
</head>
<body>
    <p>あなたが検索したキーワードは <mark>HTML</mark> です。</p>
</body>
</html>

この例では、ユーザーが HTML というキーワードを検索した場合、そのキーワードがmarkタグで囲まれて強調表示されます。

ブラウザ上では、markタグで囲まれた部分が黄色の背景色で表示されるため、ユーザーはすぐに目当ての情報を見つけることができます。

重要な情報の強調

markタグは、重要な情報を強調するためにも使用されます。

例えば、注意事項や重要なメッセージを目立たせるために使うことができます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>重要な情報の強調</title>
</head>
<body>
    <p>この操作は <mark>取り消しできません</mark> のでご注意ください。</p>
</body>
</html>

この例では、「取り消しできません」という重要な情報がmarkタグで強調されています。

これにより、ユーザーは重要な情報を見逃すことなく、適切な注意を払うことができます。

アクセシビリティの向上

スクリーンリーダーとの連携

markタグは、スクリーンリーダーを使用するユーザーにとっても有益です。

スクリーンリーダーは、markタグで囲まれたテキストを特別な方法で読み上げることができるため、視覚障害のあるユーザーにも重要な情報を伝えることができます。

例えば、以下のようにmarkタグを使用することで、スクリーンリーダーが強調された部分を特別に読み上げることが期待できます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>スクリーンリーダーとの連携</title>
</head>
<body>
    <p>次のステップに進む前に、<mark>必ず保存してください</mark>。</p>
</body>
</html>

この例では、「必ず保存してください」という部分がmarkタグで強調されており、スクリーンリーダーがその部分を特別に読み上げることで、視覚障害のあるユーザーにも重要な情報が伝わります。

色覚異常への配慮

markタグを使用する際には、色覚異常のあるユーザーにも配慮することが重要です。

デフォルトでは黄色の背景色が使用されますが、CSSを使ってカスタマイズすることで、色覚異常のあるユーザーにも見やすい色に変更することができます。

例えば、以下のようにCSSを使って背景色を変更することができます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>色覚異常への配慮</title>
    <style>
        mark {
            background-color: #ffcc00; /* 黄色 */
            color: #000; /* 黒 */
        }
    </style>
</head>
<body>
    <p>この情報は <mark>非常に重要</mark> です。</p>
</body>
</html>

この例では、markタグの背景色を黄色に設定していますが、色覚異常のあるユーザーに配慮して、他の色に変更することも可能です。

例えば、背景色を青や緑に変更することで、色覚異常のあるユーザーにも見やすくすることができます。

以上のように、markタグはテキストのハイライトやアクセシビリティの向上に非常に有用です。

適切に使用することで、ユーザーにとってわかりやすく、使いやすいウェブページを作成することができます。

markタグのスタイリング

CSSでのカスタマイズ

背景色の変更

markタグのデフォルトの背景色は黄色ですが、CSSを使って自由にカスタマイズすることができます。

以下は背景色を変更する例です。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>markタグの背景色変更</title>
    <style>
        mark {
            background-color: lightblue; /* 背景色をライトブルーに変更 */
        }
    </style>
</head>
<body>
    <p>この文章の中で<mark>重要な部分</mark>をハイライトしています。</p>
</body>
</html>

上記の例では、markタグの背景色をライトブルーに変更しています。

これにより、デフォルトの黄色から異なる色で強調表示することができます。

フォントスタイルの変更

markタグのテキストのフォントスタイルもCSSでカスタマイズできます。

以下はフォントの色やスタイルを変更する例です。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>markタグのフォントスタイル変更</title>
    <style>
        mark {
            background-color: lightyellow; /* 背景色をライトイエローに変更 */
            color: red; /* フォントの色を赤に変更 */
            font-weight: bold; /* フォントを太字に変更 */
            font-style: italic; /* フォントを斜体に変更 */
        }
    </style>
</head>
<body>
    <p>この文章の中で<mark>重要な部分</mark>をハイライトしています。</p>
</body>
</html>

この例では、markタグの背景色をライトイエローに変更し、フォントの色を赤、フォントスタイルを太字かつ斜体に設定しています。

これにより、視覚的にさらに強調することができます。

JavaScriptとの連携

動的なハイライト

JavaScriptを使って、動的にmarkタグを追加することも可能です。

以下は、特定のキーワードを動的にハイライトする例です。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>動的なハイライト</title>
    <style>
        mark {
            background-color: yellow; /* デフォルトの背景色 */
        }
    </style>
</head>
<body>
    <p id="text">この文章の中で特定のキーワードをハイライトします。</p>
    <button onclick="highlightText('キーワード')">ハイライト</button>
    <script>
        function highlightText(keyword) {
            const textElement = document.getElementById('text');
            const text = textElement.innerHTML;
            const highlightedText = text.replace(new RegExp(keyword, 'g'), `<mark>${keyword}</mark>`);
            textElement.innerHTML = highlightedText;
        }
    </script>
</body>
</html>

この例では、ボタンをクリックすると、指定したキーワードがmarkタグで囲まれ、ハイライトされます。

JavaScriptのreplaceメソッドを使って、動的にmarkタグを追加しています。

ユーザーインタラクションの強化

JavaScriptを使って、ユーザーの操作に応じてmarkタグを動的に変更することも可能です。

以下は、マウスオーバー時にテキストをハイライトする例です。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ユーザーインタラクションの強化</title>
    <style>
        mark {
            background-color: yellow; /* デフォルトの背景色 */
        }
    </style>
</head>
<body>
    <p id="text">この文章の中で特定の部分にマウスオーバーするとハイライトされます。</p>
    <script>
        const textElement = document.getElementById('text');
        textElement.addEventListener('mouseover', function(event) {
            if (event.target.tagName === 'SPAN') {
                event.target.innerHTML = `<mark>${event.target.innerHTML}</mark>`;
            }
        });
        textElement.addEventListener('mouseout', function(event) {
            if (event.target.tagName === 'MARK') {
                event.target.outerHTML = event.target.innerHTML;
            }
        });
    </script>
</body>
</html>

この例では、<span>タグで囲まれたテキストにマウスオーバーすると、その部分がmarkタグでハイライトされます。

マウスが離れると、ハイライトが解除されます。

これにより、ユーザーの操作に応じた動的なインタラクションが可能になります。

よくある質問(FAQ)

markタグと他の強調タグの違いは?

HTMLにはテキストを強調するためのタグがいくつか存在しますが、それぞれのタグには異なる目的と使い方があります。

以下に代表的な強調タグとmarkタグの違いを説明します。

  • <mark>タグ: テキストの一部をハイライトするために使用されます。

特に検索結果や重要な情報を目立たせるために使われます。

  • <strong>タグ: テキストを強調し、重要性を示すために使用されます。

ブラウザは通常、太字で表示します。

  • <em>タグ: テキストを強調し、感情的なニュアンスを伝えるために使用されます。

ブラウザは通常、斜体で表示します。

  • <b>タグ: テキストを太字にするために使用されますが、意味的な強調はありません。
  • <i>タグ: テキストを斜体にするために使用されますが、意味的な強調はありません。

以下は、これらのタグを使った例です。

<p>これは<mark>ハイライトされたテキスト</mark>です。</p>
<p>これは<strong>重要なテキスト</strong>です。</p>
<p>これは<em>感情的に強調されたテキスト</em>です。</p>
<p>これは<b>太字のテキスト</b>です。</p>
<p>これは<i>斜体のテキスト</i>です。</p>

markタグはSEOにどのように影響しますか?

<mark>タグはSEO(検索エンジン最適化)に直接的な影響を与えることは少ないですが、間接的な効果を持つことがあります。

以下にその理由を説明します。

  • ユーザーエクスペリエンスの向上: <mark>タグを使用して重要な情報や検索結果をハイライトすることで、ユーザーが必要な情報を素早く見つけやすくなります。

これにより、ページの滞在時間が増え、直帰率が減少する可能性があります。

  • コンテンツの可読性向上: ハイライトされたテキストは視覚的に目立つため、ユーザーがページの内容を理解しやすくなります。

これも間接的にSEOにプラスの影響を与えることがあります。

ただし、SEOの観点からは、適切なキーワードの使用や高品質なコンテンツの提供が最も重要です。

<mark>タグはあくまで補助的な役割を果たします。

markタグを使うべきでないシーンは?

<mark>タグは便利なタグですが、使用する際には注意が必要です。

以下のようなシーンでは使用を避けるべきです。

  • 過剰なハイライト: ページ全体に多くの<mark>タグを使用すると、逆に視覚的なノイズとなり、ユーザーが重要な情報を見つけにくくなります。

適度な使用が推奨されます。

  • 意味のないハイライト: ハイライトする内容が特に重要でない場合や、文脈に合わない場合は使用を避けるべきです。

<mark>タグはあくまで重要な情報を強調するためのものです。

  • アクセシビリティの低下: 色覚異常のユーザーにとって、特定の色でハイライトされたテキストが見えにくくなることがあります。

CSSでカスタマイズする際には、アクセシビリティを考慮した配色を選ぶことが重要です。

以下は、過剰なハイライトの例です。

<p>これは<mark>過剰に</mark>ハイライトされた<mark>テキスト</mark>の<mark>例</mark>です。</p>

このように、<mark>タグは適切に使用することで、ユーザーエクスペリエンスを向上させることができますが、過剰な使用や不適切な使用は避けるべきです。

目次から探す