目次に戻る

a要素:HTML Living Standard各要素別メモ

概要

カテゴリー
配置できる場所
内容モデル

W3C : HTML5.3tabindex属性要素を禁止する規定はなかった(ただし、tabindex属性要素Interactive contentとされていたので、実質的な差はない)。

属性
  • グローバル属性
  • hrefリンク先のURL
  • download→指定された場合は、リンク先がダウンロードされるべきファイルであることを示す。属性値を指定した場合は、それはダウンロードされるファイルデフォルトファイル名になる。対応ブラウザでは、リンククリックしたときにダウンロードダイアログボックスが開くなどの反応をすることが期待されるかもしれない。
  • hreflangリンク先のBCP47言語コード
  • pingピンの送信先のURL。半角スペース区切りで複数指定可。
  • referrerpolicy→値は下記のとおり。アクセス又はリソース読み込みのときのリファラーヘッダに関するポリシーを指定する。詳細は、Referrer Policyを参照。
    • no-referrerリファラーヘッダを削除し、リファラー情報を送信しない。
    • no-referrer-when-downgradeTLSで保護されたクライアントから信用に値し得ないURLへの送信の際は、リファラーヘッダを削除し、リファラー情報を送信しない。その他の場合は、リファラー情報を全部送信する。
    • same-origin→非同一オリジンからの要請に対しては、リファラーヘッダを削除し、リファラー情報を送信しない。同一オリジンからの要請に対しては、リファラー用に削った全部情報を送信する。
    • originドメイン部分のみをリファラー情報として送信する(例:「https://example.com/example.html」からのアクセス→「https://example.com/」のみを送信)。
    • strict-originTLSで保護されたクライアントから信用に値し得ないURLへの送信の際は、リファラーヘッダを削除し、リファラー情報を送信しない。その他の場合は、ドメイン部分のみをリファラー情報として送信する。
    • origin-when-cross-origin→非同一オリジンからの要請に対しては、ドメイン部分のみをリファラー情報として送信する。同一オリジンからの要請に対しては、リファラー用に削った全部情報を送信する。
    • strict-origin-when-cross-originTLSで保護されたクライアントから信用に値し得ないURLへの送信の際は、リファラーヘッダを削除し、リファラー情報を送信しない。その他の場合で、非同一オリジンからの要請に対しては、ドメイン部分のみをリファラー情報として送信する。その他の場合で、同一オリジンからの要請に対しては、リファラー用に削った全部情報を送信する。
    • unsafe-urlリファラー用に削った全部情報を送信する。
  • rel→値は、rel属性値の表で「指定可」とされている値とその他リンク先・リソースとの関係を示す。原則として複数指定不可。
  • target→値は下記のとおり。リンク先を開く場所を示す。
    • _blank別ウィンドウ又は別タブ
    • _top入れ子閲覧文脈の中で、当該要素が現在属している閲覧文脈の最上位の祖先閲覧文脈
    • _parent入れ子閲覧文脈の中で、当該要素が現在属している閲覧文脈閲覧文脈
    • _self→当該要素が現在属している閲覧文脈
    • その他妥当な閲覧文脈名→「_」(アンダースコア)で始まらない一文字以上の文字列。当該要素が現在属している入れ子閲覧文脈の中又は当該要素が属していない既に開いている別ウィンドウ(もしくは別タブ)に該当する閲覧文脈名のものがあれば、そこに開く。それがなければ、当該閲覧文脈名にて別ウィンドウ又は別タブを開く。
  • typeリンク先のMIME type
  • href属性がない場合は、downloadhreflangpingreferrerpolicyreltargettypeの各属性は省略しなければならない。
  • itemprop属性がある場合は、href属性は必須。

W3C : HTML5.3:下記の属性が許容されていた。

  • rev→値はrel属性値と同じ。リンク先から見た関係を示す。
HTML構文におけるタグの省略
  • 省略不可。
WAI-ARIA
  • href属性がある場合は、
    • デフォルトroleは、linkデフォルトroleは、role属性値に指定すべきでない。
    • デフォルトrole以外では、buttoncheckboxmenuitemmenuitemcheckboxmenuitemradiooptionradioswitchtabtreeitemを指定可。
  • href属性がない場合は、
    • すべてのroleが指定可能。
視覚系ブラウザデフォルトとして期待される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属性がある場合は、ハイパーリンクをたどることで、ピンの送信が背後で行われることを明示すべきである。
HTML extension

rel属性値に下記を追加。詳細は、Webmentionを参照。

  • webmentionWebmention仕様に基づくのリンク通知先。
意味・用法

href属性を持つ場合は、当該a要素内容テキスト等によってラベル付けされたハイパーリンクを表す。

href属性を持たない場合は、別の方法によってリンクが置かれるかもしれないプレースホルダーを表す。

アクセシビリティ関連

私見・補足

リンク予定のプレースホルダーの「別の方法」→おそらくスクリプトによる方法を主として想定しているのだろうが、単にHTML文書作成者が後でリンクに書き直す予定というのでもかまわない。

リンク予定のプレースホルダーの場合は基本的に属性は書けないわけだが、予定している属性属性値を記述できてもいいのになぁとは思う。

表示確認

ソース1

  <a href="0mokuji.html">目次に戻る</a>
  
表示結果1
目次に戻る
ソース2:download属性付き

  <a href="0mokuji.html" download="目次.html">目次ページをダウンロード</a>
  
表示結果2
目次ページをダウンロード

未対応ブラウザでは、単なるリンクにしかならない。