HTML

HyperText Markup Language accesskey attribute.

accesskey属性

 accesskey属性は、要素にアクセスキーを割り当てます。

 アクセスキーは、マウスの使えない環境でも、リンクにジャンプする、ボタンを押す、入力フォームにフォーカスを移すなどの操作を簡単に行うことができるように考慮されたものです。Windowsの「ファイル(F)」メニューについている、F と同じような働きをします。

 HTML4.01ではアクセスキーには1文字のみ指定可能と定義されています。HTML5ではスペース文字で区切って複数の文字を指定可能となりましたが、HTML5.1で再度1文字のみ指定可能な仕様に戻されました。

 OSやブラウザによって、アクセスキーの操作が異なります。

Windows
Internet Explorer
[Alt] + [アクセスキー]
Chrome
[Alt] + [アクセスキー]
Firefox
[Alt] + [Shift] + [アクセスキー]
Safari
[Alt] + [アクセスキー]
Opera
[Alt] + [アクセスキー]
※古いOperaでは [Shift] + [Esc] + [アクセスキー]
Mac
Chrome
[Control] + [Alt] + [アクセスキー]
Firefox
[Control] + [Alt] + [アクセスキー]
※Firefox 13までは [Control] + [アクセスキー]
Safari
[Control] + [Alt] + [アクセスキー]
Opera
[Control] + [Alt] + [アクセスキー]
※古いOperaでは [Shift] + [Esc] + [アクセスキー]
i-mode
i-mode
[数字キー]

 ラベルを持つ入力コントロールの場合は、<label> で指定したラベルに accesskey を指定するのが作法のようです。

Sample

ジャンプ(J)

 Altキー(Macの場合は Ctrlキー)を押しながら、J、B などのキーを押してみてください。

HTML source


<form action="#">
	<div>
		<a href="accesskey.html" accesskey="j">ジャンプ(<span class="ul">J</span>)</a>
	</div>
	<div>
		<label for="t1" accesskey="b">ブラウザ名(<span class="ul">B</span>):</label>
		<input type="text" id="t1" name="BROWSER">
	</div>
	<div>
		<input type="radio" id="r1" name="YESNO" value="YES" checked>
		<label for="r1" accesskey="y">はい(<span class="ul">Y</span>)</label>
		<input type="radio" id="r2" name="YESNO" value="NO">
		<label for="r2" accesskey="n">いいえ(<span class="ul">N</span>)</label>
	</div>
	<div>
		<input type="checkbox" id="c1" name="Win">
		<label for="c1" accesskey="w">Windows(<span class="ul">W</span>)</label>
		<input type="checkbox" id="c2" name="Mac">
		<label for="c2" accesskey="m">Macintosh(<span class="ul">M</span>)</label>
	</div>
</form>

CSS source


.ul {
	text-decoration-line: underline;
}

補足

 Internet Explorer 5.0では、フォーム部品に限らず、<b> や <h1> など、ほとんどのタグに accesskey属性を指定できるようになりました。この場合、tabindex属性と共に使用します。


<h1 tabindex=1 accesskey="h" onfocus="alert('HELLO')">ようこそ</h1>

 何故か HTML4.01では、<select> に対して accesskey属性が定義されていません。これに従って、Netscape 6でも <select> に accesskey属性を指定することができません。