グローバル属性 一覧

すべての要素に共通の属性の一覧。属性名の右は値のパターン。だいたい正規表現だけど、詳しくは値の見方を参照。

HTML4では一部の要素に使えなかったが、HTML5ではすべての要素に使えるようになった

accesskey  変更[文字]
アクセスキー。指定されたキーとブラウザごとのキー(例えばmacOSの場合はだいたいctrl+option+指定キー、WindowsではだいたいAlt+指定キー。WindowsのFirefoxはAlt+Shift+指定キー)を同時に押すことで、対象の要素にアクセスできる。リンクならクリックになるし、ボタンなら押した事になる。

ブラウザのショートカットが優先して反応するので、それらを避ける(例えばWindowsだと、Alt+Fだと大抵「ファイル」メニューに割り当てられているので、そちらが優先する)。スペースもダメ。

HTML5で汎用になった。HTML5で一時的に空白区切りで複数文字指定が可能になったが(例えばa bならaキーでもbキーでもアクセス可能)、廃止された。

aria-*  new[文字列]
ARIA関連の属性。aria-lavelとかaria-busyといった具合。aria-で始まらないけど、roleという属性もある。 ARIAはAccessible Rich Internet Applicationsの事で、ウェブアプリが複雑化する中でアクセシビリティを確保しようとする色々。 WAI-ARIAの仕様の詳細はこちら
autocapitalize  未来default|sentences|words|characters|none|on|off
iOSとかの仮想キーボード入力で勝手に一文字目が大文字になっちゃうアレを制御できる。主にモバイルブラウザでの制御。
  • default: ブラウザ任せ
  • sentences/on: 文書ごと。This one. Next sentence is here.
  • words: 単語ごと。This One. Next Sentence Is Here.
  • characters: 全文字。THIS ONE. NEXT SENTENCE IS HERE.
  • none/off: キャピタライズしない。this one. next sentence is here..
on/off/defaultはLiving Standardにのみ記載がある。
class[トークン]( [トークン])*
空白類で区切られたトークン。トークンは英数字に限定されていない。 利用方法は仕様書に定義されていないが、だいたいCSSやJavaScriptから利用する。 例えば「big」「red」などの見た目の値ではなく、「footnote」「character-name」等のコンテンツの意味を表す値が推奨される。
contenteditable  new(空欄)|true|false
その要素を編集可能にするかどうか。空欄かtrueを指定すると、その要素がtextareaのように編集可能になる。古くからInternetExplorerの独自拡張だったものが正式採用された。
dir  変更ltr|rtl|auto
要素の向き。
  • ltr: 左から右。日本語や英語など。
  • rtl: 右から左。アラビア語など。
  • auto: 1文字目を見て自動で判断される粗い制御。非推奨。
HTML5からautoが追加された。
draggable  newtrue|false
trueを指定するとドラッグ可能になる。ドラッグから先のドラッグ中・ドロップの制御はスクリプトで頑張る。
dropzone
HTML5で追加されたけど廃止された
enterkeyhint  未来[列挙型]iosandroid
編集可能な要素で仮想キーボードの「エンター」ボタンの表記。
  • enter: 改行
  • done: 完了
  • go: 進む
  • next: 次へ
  • previous: 前へ
  • search: 検索
  • send: 送信
hidden  new(真偽値)
その要素を非表示にする。CSSのdisplay:noneの状態(visibility:hiddenではなく)。
id  変更[ID]
文書中で一意なIDでなければならない。 空白類を利用しない以外の制限は無い(HTML4時にあった英字から始まって、英数字とハイフンで、といった制限は無いし、日本語も禁止されない)
inputmode  未来[列挙型]ios
仮想キーボードの挙動を制御する。主にスマホ向け。
  • none: 仮想キーボードを表示しない
  • text: ユーザーの地域設定に基づいた仮想キーボードを表示
  • tel: 電話番号、つまり[0-9*#]を入力できる仮想キーボードを表示
  • url: ユーザーの地域設定に基づいた仮想キーボード+www.とか.comとか入力できるもの
  • email: @とか.とかにいい感じに反応する、メールアドレスを入力する、ユーザーの地域設定に基づいた仮想キーボード
  • numeric: 数値を入力する仮想キーボード。PIN入力に有用。
  • decimal: 分数を入力する仮想キーボード
  • search: 検索特化の仮想キーボード
HTML5では一度実装されたものの廃止された。
is  未来[文字列]
その要素を値に指定したカスタム要素のように振る舞わせる。オレ要素やオレ拡張要素だってできちゃう。そう、HTML5ならね!
itemid/itemscope/itemprop/itemtype/itemref  未来
Microdata。詳しい解説は別途する、かも知れない。
lang[言語コード]|(空欄)
言語を指定。日本語の場合はja、英語の場合はen、フランス語の場合はfr等。空も指定可能で、空の場合は不明を意味する。
nonce  未来[BASE64]chromefirefoxoperaedgeiesafariiosandroid
ワンタイムキーのようなもの。(リンク先ではなく)その文書自身のHTTPヘッダーの当該nonceと合致した場合にリソースを妥当とみなす。大文字小文字を区別する。 詳細はContent Security Policy (CSP)参照。
slot  new[文字列]
slotとペアでテンプレートへの当て込み用途で使うのだが、なぜか属性だけHTML5.2で追加されている。
spellcheck  new(空欄)|true|false
スペルチェックするか否か。指定が無い場合はデフォルトの状態で、その場合だいたいスペルチェックが必要な時に自動で有効になる。
style[CSS]
tabindex  変更[整数]safari
タブキーでの移動順序を指定する。この属性を指定すると、フォーカスを持っていない要素でもフォーカスを持てるようになる(クリック可能になる)。
  • 負の値を指定した場合: タブキーでの移動対象外になる。
  • ゼロの値を指定した場合: タブキーでの移動時に、1以上の値が指定されたものより後に、tabindexが指定されていないフォーカス可能要素と同じ優先順位でフォーカスされる。
  • 1以上の値を指定した場合: タブキーでの移動時に、この値が小さい要素から優先的に、ソース上で手前にある要素から順にフォーカスされる。例えば4が指定されたすべての要素を移動した後で5の要素にフォーカスが移る。
ややこしいがつまり、1->2->3->4->0または指定無しで元からフォーカス可能な要素、の順番でフォーカスされる。

HTML5で負の値が指定できるようになった。

title[文字列]
リンクの場合はリンク先のリソースの情報、画像の場合は画像のクレジット等の補足情報。
translate  newyes|no|(空欄)
その要素を翻訳するかどうか。例えばGoogleのページ翻訳等で式や記号など翻訳されたくないものにnoを指定する。空の場合はyesと同等。
カスタムデータ属性  new[文字列]
属性名はdata-**の部分は大文字のASCII文字と:を除くXML互換の名前で、日本語も可能。 JavaScriptから利用したい等の場合に自由に追加できる。 例えばdata-length="2m11s"
グローバルイベント属性  new[スクリプト]chromefirefoxoperasafariedgeieiosandroid
それぞれのイベント発生時に記載したスクリプトが実行される。HTML5で大量に追加され、汎用になった。それぞれ仕様書には細かくは書いてないが、だいたい以下の通り。グローバルなイベント属性だが、対応要素が少ないものも多い。
  • onabort new: リソースの読み込みを中断した時。未調査
  • onauxclick new: 左クリックじゃないほうのURLです。
  • oncancel new: dialogをEscキーで閉じた時
  • oncanplay new: メディアが再生可能になった時
  • oncanplaythrough new: メディアを途中でバッファが足りなくならずに最後までダウンロードしながらでも再生可能と判断された時
  • onchange: フォーム値の変更が確定された時
  • onclick: クリックされた時
  • onclose new: dialogを何らかの方法で閉じた時
  • oncuechange new: trackで指定した字幕が変更された時
  • ondblclick: ダブルクリックされた時
  • ondrag new: その要素がドラッグ中の時にずっと
  • ondragend new: その要素のドラッグ終了時
  • ondragenter new: ドラッグ中の要素がその要素の領域に入ってきた時
  • ondragexit new: ドラッグ中の要素がその要素の領域から出ていった時
  • ondragleave new: ドラッグ中の要素がその要素の領域から出ていった時
  • ondragover new: ドラッグ中の要素がその要素の領域上にある時にずっと
  • ondragstart new: ドラッグ開始時
  • ondrop new: ドラッグ中の要素がその要素上でドロップされた時
  • ondurationchange new: メディアの再生時間が変更された時。再生可能になったら0秒から再生時間に変更されるので、そこで発火する。
  • onemptied new: 何らかの理由で読み込みデータが空になった
  • onended new: メディアを最後まで再生し終わった時
  • oninput new: フォーム入力時
  • oninvalid new: フォーム値が妥当でない時
  • onkeydown: キーが押し込まれた時
  • onkeypress: AltやCtrlなど装飾キーを除くキーが押し込まれた時
  • onkeyup: キーが押してから離された時
  • onloadeddata new: メディアの最初のフレームが読み込まれた時
  • onloadedmetadata new: メタデータの読み込みが完了した時
  • onloadend new: エラーや中断も含めてリソースの読み込みが完了した後(各イベントの後で発火)
  • onloadstart new: リソースの読み込み開始時
  • onmousedown: マウスボタンが押し込まれた時
  • onmouseenter new: マウスが要素に乗った時
  • onmouseleave new: マウスが要素から離れた時
  • onmousemove: マウスが要素上で動いた時
  • onmouseout: マウスが要素から離れた時
  • onmouseover: マウスが要素上で動いた時
  • onmouseup: マウスボタンが押してから離された時
  • onwheel new: マウスホイールをくるくるした時
  • onpause new: 一時停止された時
  • onplay new: メディアが再生開始された時
  • onplaying new: メディアが再生開始される直前か、バッファリングができて続行可能になった時
  • onprogress new: リソースの読み込み中
  • onratechange new: メディアの再生速度が変更された時。未調査
  • onreset: フォームリセット時
  • onseeked new: メディアのシーク終了時
  • onseeking new: メディアのシーク開始時
  • onselect: フォーム入力のテキスト選択時
  • onshow new: コンテキストメニューを表示した時だけど、コンテキストメニュー周りは廃止されたからたぶん今は残骸
  • onstalled new: メディアデータの取得に失敗した時
  • onsubmit: フォームが送信された時
  • onsuspend new: リソースの読み込みを一時停止した時
  • ontimeupdate new: 再生時刻が更新された時。つまり再生中はずっと出続ける。
  • ontoggle new: detailsで詳細の表示/非表示を切り替えた時
  • onvolumechange new: メディアのボリュームを変更した時
  • onwaiting new: バッファリング待ち時
  • onblur: 要素がフォーカスを失った時
  • onerror new: リソースの読み込み時に問題が発生した時
  • onfocus: 要素がフォーカスを受け取った時
  • onload 変更: 文書上の全リソースがロード完了した時。bodyだけの属性だったのがグローバル属性に変更された
  • onresize new: 要素がリサイズされた時
  • onscroll new: 要素上でスクロールされた時
  • oncut new: 「切り取り」した時
  • oncopy new: 「コピー」した時
  • onpaste new: 「貼り付け」した時
HTML5で追加されたけど途中で廃止されたものは以下。
  • oncontextmenu: HTML5.3以降でまた復活するっぽい