概要
- カテゴリー
-
- Flow content
- Phrasing content
- Interactive content (
href
属性がある場合に限る) - Palpable content
- 内容モデル
-
- Transparent。ただし、Interactive content、
a
要素、tabindex
属性付要素のいずれをも子孫に含んではならない。
- Transparent。ただし、Interactive content、
- 属性
-
- グローバル属性
href
→リンク先のURLdownload
→指定された場合は、リンク先がダウンロードされるべきファイルであることを示す。属性値を指定した場合は、それはダウンロードされるファイルのデフォルトファイル名になる。hreflang
→リンク先のBCP47の言語コード。ping
→ピンの送信先のURL。半角スペース区切りで複数指定可。referrerpolicy
→値は下記のとおり。アクセス又はリソース読み込みのときのリファラーヘッダに関するポリシーを指定する。詳細は、Referrer Policyを参照。no-referrer
→リファラーヘッダを削除し、リファラー情報を送信しない。no-referrer-when-downgrade
→TLSで保護されたクライアントから信用に値し得ないURLへの送信の際は、リファラーヘッダを削除し、リファラー情報を送信しない。その他の場合は、リファラー情報を全部送信する。same-origin
→非同一オリジンからの要請に対しては、リファラーヘッダを削除し、リファラー情報を送信しない。同一オリジンからの要請に対しては、リファラー用に削った全部情報を送信する。origin
→ドメイン部分のみをリファラー情報として送信する(例:「https://example.com/example.html」からのアクセス→「https://example.com/」のみを送信)。strict-origin
→TLSで保護されたクライアントから信用に値し得ないURLへの送信の際は、リファラーヘッダを削除し、リファラー情報を送信しない。その他の場合は、ドメイン部分のみをリファラー情報として送信する。origin-when-cross-origin
→非同一オリジンからの要請に対しては、ドメイン部分のみをリファラー情報として送信する。同一オリジンからの要請に対しては、リファラー用に削った全部情報を送信する。strict-origin-when-cross-origin
→TLSで保護されたクライアントから信用に値し得ないURLへの送信の際は、リファラーヘッダを削除し、リファラー情報を送信しない。その他の場合で、非同一オリジンからの要請に対しては、ドメイン部分のみをリファラー情報として送信する。その他の場合で、同一オリジンからの要請に対しては、リファラー用に削った全部情報を送信する。unsafe-url
→リファラー用に削った全部情報を送信する。
rel
→値は、rel
属性値の表で「指定可」とされている値とその他。リンク先・リソースとの関係を示す。target
→値は下記のとおり。リンク先を開く場所を示す。type
→リンク先のMIME typehref
属性がない場合は、download
、hreflang
、ping
、referrerpolicy
、rel
、target
、type
の各属性は省略しなければならない。itemprop
属性がある場合は、href
属性は必須。
- HTML構文におけるタグの省略
-
- 省略不可。
- WAI-ARIA
-
href
属性が指定されている場合は、- デフォルト
role
は、link
。デフォルトrole
をrole
属性値に指定することは、推奨されない。 - デフォルト
role
以外では、button
、checkbox
、menuitem
、menuitemcheckbox
、menuitemradio
、option
、radio
、switch
、tab
、treeitem
を指定可。 aria-disabled
属性を指定することは、推奨されない。
- デフォルト
- そうでない場合は、
- 視覚系ブラウザのデフォルトとして期待されるCSS
-
:link { color: #0000EE; text-decoration: underline; cursor: pointer; } :visited { color: #551A8B; text-decoration: underline; cursor: pointer; } :link:active, :visited:active { color: #FF0000; }
- 準拠チェッカーに対する規定
-
a
要素に廃止されたname
属性が指定されていても、その属性値が空でない限り、エラーとはせずに警告にとどめることが許容される。
- ユーザーエージェントに対する特記事項
-
hreflang
属性値及びtype
属性値を信頼できる値だとみなしてはならない。- ダウンロードしたファイルのファイル名を設定する際には、
download
属性値は、Content-Disposition
HTTPヘッダのファイル名パラメータで上書きできる。 href
属性値が#top
で参照先が見つからない場合、あるいは、#
の場合は、当該HTML文書の先頭に移動する。ping
属性については、ユーザーの設定に従って、これを完全に又は選択的に無視してもよい。ping
属性がある場合は、ハイパーリンクをたどることで、ピンの送信が背後で行われることを明示すべきである。download
属性がある場合は、当該ファイルを保存する方法を提供すべきである。
- 意味・用法
-
href
属性を持つ場合は、当該a
要素の内容テキスト等によってラベル付けされたハイパーリンクを表す。href
属性を持たない場合は、別の方法によってリンクが置かれるかもしれないプレースホルダーを表す。
アクセシビリティ関連
- ユーザーに予告せずに別ウィンドウ又は別タブを開くのは、アクセシビリティを妨げる(Techniques for WCAG 2.1 : G201, H83, F22)。
- リンク先やリンクの目的が分かるようなリンクテキストを用いるべきである(Techniques for WCAG 2.1 : G53, G91, H30, F84)。
私見・補足
リンク予定のプレースホルダーの「別の方法」→おそらくスクリプトによる方法を主として想定しているのだろうが、単にHTML文書作成者が後でリンクに書き直す予定というのでもかまわない。
リンク予定のプレースホルダーの場合は基本的に属性は書けないわけだが、予定している属性・属性値を記述できてもいいのになぁとは思う。
表示確認
- ソース1
-
<a href="0mokuji.html">目次に戻る</a>
- 表示結果1
- 目次に戻る
- ソース2:
download
属性付き -
<a href="0mokuji.html" download="目次.html">目次ページをダウンロード</a>
- 表示結果2
- 目次ページをダウンロード