anchor要素とhref属性
anchorタグとhref属性を使ってリンクを作成します。
「anchor要素とhref属性」はCoddyKit上の無料HTML Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはHTML Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 HTML Academyコースには全4レッスンが含まれています。
リンクとは
<a>(アンカー)要素はハイパーリンクを作成します。これはWebの基本的な構成要素です。
- ユーザーはリンクをクリックしてページ間を移動します
- リンクはドキュメント、リソース、場所をつなぎます
- リンクがなければ、Webは孤立したページの集まりになってしまいます
href属性
href(ハイパーテキスト参照)属性は、リンク先を指定します。
<a href="https://example.com">Visit Example</a>
<a href="/about">About Us</a>
<a href="../contact.html">Contact</a>
<!-- href = destination URL or path
Content between tags = clickable text -->
<!-- Without href, a is still valid but not a hyperlink -->リンクテキストの重要性
<a>タグの間に置くテキスト(リンクテキスト)は、リンク先を説明するものにしてください。
<!-- Bad: uninformative -->
<a href="/docs/guide">Click here</a>
<a href="/docs/guide">Read more</a>
<!-- Good: descriptive -->
<a href="/docs/guide">Read the Getting Started Guide</a>
<!-- Screen readers list all links — "click here" is meaningless out of context -->href値の種類
hrefにはさまざまな種類の値を指定できます。
<a href="https://example.com">External URL</a>
<a href="/page">Root-relative path</a>
<a href="page.html">Relative path</a>
<a href="#section">Fragment (same page)</a>
<a href="mailto:hi@example.com">Email link</a>
<a href="tel:+1234567890">Phone link</a>
<a href="javascript:void(0)">JS (avoid this)</a>メールと電話へのリンク
特殊なURIスキームを使って、メールや電話へのリンクを作成できます。
<a href="mailto:support@example.com">Email Support</a>
<a href="mailto:support@example.com?subject=Hello&body=Hi%20there">
Email with Subject
</a>
<a href="tel:+15555551234">Call Us: (555) 555-1234</a>
<!-- Tapping tel: links on mobile opens the phone dialer -->リンクのtitle属性
title属性を使ってツールチップを追加します。
<a href="/glossary" title="View the full HTML glossary">Glossary</a>
<!-- title appears as a tooltip on hover
But: not accessible via keyboard or touch — never rely on title alone for critical info -->リンクのスタイル設定
ブラウザーはリンクにデフォルトのスタイルを適用します。アクセシビリティのため、そのスタイルは維持してください。
/* Default link states */
a:link { color: blue; text-decoration: underline; }
a:visited { color: purple; }
a:hover { color: red; }
a:focus { outline: 2px solid blue; } /* keyboard focus */
a:active { color: red; }
/* Never remove :focus outline — keyboard users need it */アクティブなリンクと現在のリンク
現在のナビゲーションリンクにはaria-currentを使用してください。
<nav>
<a href="/">Home</a>
<a href="/about" aria-current="page">About</a>
<a href="/contact">Contact</a>
</nav>
<!-- aria-current="page" tells screen readers this link is the current page -->
<!-- CSS: [aria-current="page"] { font-weight: bold; } -->hrefのないアンカー
hrefのない<a>はプレースホルダーリンクであり、操作できません。
<a>Not a link yet</a>
<!-- No href = no hyperlink, no default pointer cursor, not keyboard-focusable -->
<!-- If you need a clickable element without navigation, use button:
<button onclick="doSomething()">Click Me</button> -->ブロック要素のラップ
HTML5では、<a>でブロック要素を囲み、セクション全体をクリック可能にできます。
<a href="/products/widget">
<div class="card">
<h2>Widget Pro</h2>
<p>The best widget available.</p>
<img src="widget.jpg" alt="Widget Pro product image">
</div>
</a>
<!-- Valid in HTML5 (not in HTML4) -->
<!-- Ensure the link text is still descriptive for screen readers -->リンクのフォーカスとキーボード操作
リンクはキーボードで操作できる必要があります。
- ユーザーはTabキーでリンク間を移動します
- Enterキーでリンクをアクティブにします
- リンクからフォーカスアウトラインを削除しないでください
- タブの移動順は読み上げ順に従うようにします
確認問題
スクリーンリーダーの利用者にとって、アクセシブルなリンクテキストとはどのようなものでしょうか。
まとめ:アンカー要素
リンクに関する主な概念:
<a href="url">でハイパーリンクを作成する- リンクテキストはリンク先を説明する必要がある
- 外部URL、相対パス、フラグメント、mailto:、tel:に対応する
- HTML5では、ブロック要素を
<a>で囲める - :focusのアウトラインを決して削除しない
- 現在のナビゲーション項目には
aria-current="page"を使用する
よくある質問
「anchor要素とhref属性」レッスンは無料ですか?
はい。「anchor要素とhref属性」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、HTML Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 HTML Academyコースには全4レッスンが含まれています。
「anchor要素とhref属性」で何を学びますか?
anchorタグとhref属性を使ってリンクを作成します。 ブラウザで直接実行するハンズオンコードでHTML Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
HTML Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのHTML Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「anchor要素とhref属性」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このHTML Academyレッスンでコードを書いて実行できますか?
はい。すべてのHTML Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- anchor要素とhref属性
- 絶対URLと相対URL
- リンクを新しいタブで開く方法とdownload属性
- セクションへのリンクとフラグメント識別子