accesskeyに使える文字を全部教えてください

このQ&Aのポイント
  • accesskeyには、アルファベットのA~Z、数字の0~9、単独キーで入力できる記号のうち10個、シフトキーと組み合わせて入力する記号のうち16個の合計62個の文字が使用できます。
  • IE6ではさらにスペースキー、エンターキー、バックスペースキー、シフトキー、漢字キーも使用できましたが、構文チェックサイトでははじかれます。
  • したがって、正式にaccesskeyに使用して良い文字は、最初に挙げた62個の文字となります。
回答を見る
  • ベストアンサー

accesskeyに使える文字を全部教えてください

accesskeyに使える文字を全部教えてください 私が参照している本によると「HTML4.0で利用可能な文字セット中の1文字」とのことですが、私には、この説明では、どの文字が使えて、どの文字が使えないのか分かりません。 今までの自己調査によると・・・ A~Zのアルファベット26個 0~9の数字10個 単独キーで入力できる記号10個 コンマ(,) ハイフン(-) ピリオド(.) 斜線(/) コロン(:) セミコロン(;) アットマーク(@) 大カッコ([と]) キャレット(^) シフトキーと組み合わせて入力する記号16個 びっくりマーク(!) シャープ(#) ドル記号($) パーセント記号(%) アンパサンド(&) アポストロフィー(') 小カッコ((と)) アスタリスク(*) プラス(+) 等号(=) はてなマーク(?) 逆クォート(`) 中カッコ({と}) チルダ(~) 以上62個が使用できました。 次の記号3個 ダブルクォート(") 山カッコ(<と>) はIE6で動きましたが構文チェックサイトで減点を食らってしまいます。 HTMLの特殊文字だからダメなのか?と思いきや、アンパサンド(&)はOKでした^^; IE6では他にもスペースキー、エンターキー、バックスペースキー、シフトキー、漢字キーが使えましたが、これらも構文チェックサイトでは、はじかれます。 以上より、最初に挙げた62個の文字が正式にaccesskeyに使用して良い文字だと思うのですが、正解でしょうか。

  • HTML
  • 回答数4
  • ありがとう数9

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

http://www.w3.org/TR/html4/interact/forms.html#adef-accesskey accesskey=「character」をクリック http://www.w3.org/TR/html4/types.html#type-character 「%Character」をクリック http://www.w3.org/TR/html4/sgml/dtd.html#Character 「CDATA」をクリック http://www.w3.org/TR/html4/types.html#type-cdata > <a> の accesskey の属性値 `&quot;` は正しくありません。ASCII1文字でなければなりません。 なるほど、CDATAの定義である数値参照、実体参照はダメって事でしょうか。 だとすると、上記dtd.htmlのページから > a single character from [ISO10646] とあるとおり、ISO 10646を確認すると、 http://ja.wikipedia.org/wiki/ISO/IEC_10646 実質、UTF-8やUTF-16の上位互換ですので、少なくともUTF-8で表現できる文字(日本語やアラビア語も含まれます)のうち、”1文字”であればどれでも良い、 と言うことになりそうです。 とはいえ、ダブルクォーテーションはHTMLタグ属性で使用するため、属性の値には使えませんし、 「タブ」「改行」は半角スペースに変換されるため使えないと思います。 また、バックスペースやNULL文字などの表示できない文字も、たしかHTMLのルールでは半角スペースに置き換えられると思います。 <>の記号ですが、これはCDATAとしてHTMLタグ属性に使用できるはずです。 検証コード(JavaScript、CSS) <style> /* IE8、Safari4、Firefox3.6、Opear10 */ div[class="aaa<>"]{color:blue;} </style> <div class="aaa<>"> あいう </div> <script> /* Safari4、Firefox3.6、Opear10 */ alert(document.getElementsByClassName('aaa<>')[0].innerHTML); </script> -------検証コードここまで 「 『「"」 「タブ」「表示できない文字」』以外のISO 10646で定義された文字(全ての文字?)、1文字をURLエンコードや数値参照にせずに記述する」 ということではないでしょうか。 ブラウザや文法チェッカーのサポート状況まではわかりません。 (英数字でさえ使えないブラウザもあります) 個人やどこかの法人(たとえそれがW3Cであっても)が作ったソフトウェア(文法チェッカー含む)にバグがないという保証はありません。 もちろん、私の解釈の仕方が間違っているという可能性もあります。

zyousuke
質問者

お礼

talooさん、ていねいな解説ありがとうございます。 W3Cのサイトに載っている情報ですので間違いないですね! (私はまともに読めていませんが・・・) しかし例のチェックサイトで、 <a href="abc" accesskey="あ">abc</a> をテストしてみると、 <a> の accesskey の属性値 `あ` は正しくありません。ASCII1文字でなければなりません。 というエラーになります。 ASCIIとは、あの7ビットのアスキー文字セットのことでしょうが、これはW3Cの仕様と相違していますね。 サイト管理者に問い合わせて、真相を解き明かしたいという衝動が出てきましたが・・・ 現段階の私の方針としては、このチェックサイトを信用することにします。 なぜなら、このチェックサイトを疑うということは、 私が今まで作成したページを全部見直す必要があるのでは!?という思いがよぎったからです^^; そして、やはりaccesskeyとして使用する文字は、最初に挙げた62文字に限定したいと思います。 W3Cによると、ほとんど全ての文字が使用可能とのことですが、 日本語を使用するとなると、まず日本語入力機能を起動し、それからたいていは2個のキーをたたいてローマ字を完成させるという、多めの手続きが必要になり、私が思い描いているアクセシビリティーとマッチしなくなるためです。

その他の回答 (3)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.4

W3Cの仕様をよく読むと > The invocation of access keys depends on the underlying system. 実装はシステム依存、と書いてますね。 ・仕様として、CDATAの「一文字」を指定する。 ・その文字をアクセスキーとして入力できるか、はシステム次第。 ということではないでしょうか。 いろんな環境を考えたら、A-Zと0-9くらいにするのが妥当」だと思います。 W3CとAnother HTML-lintの違いは http://openlab.ring.gr.jp/k16/htmllint/faq.html の最初のQ&Aに書いてありました。

zyousuke
質問者

お礼

kmeeさん、ご返信ありがとうございます。 現状では仕様と実装にかなりの相違があることを考慮して、それぞれの文字に優先順位を付けて使用することとします。 最優先で使用するのは何と言ってもA-Zの英字26個。 それでも足りない場合は0-9の数字10個。 それでも足りない場合は、やや危険ではありますが、単独キーで入力できる記号10個。 そして、それでもまだ足りない場合は、禁断の、シフトキーと組み合わせて入力する記号15個。 なぜ15個かというと、アンパサンド(&)を使用することは止めました。 アンパサンド(&) ダブルクォート(") 開き山カッコ(<) 閉じ山カッコ(>) この4つの文字はHTMLのメタ文字なので、やはり使わない方が安全と判断しました。 良ければ次スレにも来てください。 http://oshiete1.goo.ne.jp/qa5717743.html 私の心の移り変わりがよく分かります。 えっ、知りたくない!?、さいですか^^;

回答No.3

これは私の個人的な考え方ですが。 ユーザビリティーを考慮されるなら、文法以上に制限がかかると思います。 IEではALTキーとaccesskeyを組み合わせて実行しますが、 accesskeyが指定されていないページでは、たとえばALT+Fでブラウザのファイルメニューを表示します。 そこでaccesskey="F"が指定されていると、ファイルメニューが使えなくなります。 古いバージョンではファイルメニューが優先されますから、accesskeyが使えません。 この様に考えれば、ブラウザメニューに使用されている文字は全て使えないと言うことになると思います。 それ以外にも、アルファベットは使えるが記号は使えないと言うような、ブラウザ独自実装をしているブラウザは多いと思いますから、 日本語はもちろん、記号も使わない方が良いと思いますし、 たとえば、フランス語のaとeがくっついた文字などは、日本語OSでは漢字変換を使用して入力しなければならないと思いますが、 キーボードをフランス語配置(つまりフランス語圏の人)にすれば、Ctrl+aで入力できると思います。(Windows OS上にて) また、どのキーとの組み合わせでaccesskeyを実行するかはブラウザ依存ですから、 そういうのも含めて、モディファイアキー(ShiftとかCtrlとか)+キーで入力できるから大丈夫、というのも、考え物だと思います。 というわけで、私は上記の理由により、アルファベットのごく一部しか使用していません。 これは一般的なユーザビリティー、アクセシビリティーより厳しい制限だと思います。 なお、これも個人的な考えですが、accesskeyの事ではありませんが、 時には文法違反を起こさせた方が利用者にとって使いやすくなることもあると思います。 ご参考まで。 邦訳。 http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/cover.html W3Cのは仕様書であって解説書ではありません。 解説は解説サイトを参考にされるのが良いと思います。

zyousuke
質問者

お礼

talooさん、こんにちは^^ W3Cの仕様書通りに動作しないブラウザーは広義にはバグと言えましょう。 となると各社ブラウザー開発チームは、そのバグを修正するために、日夜努力しているはずです。 よって時代が進むにつれ、よりW3Cの仕様に則したブラウザーが世に出回ることが期待できます。 この私の思いに、talooさんの助言も考慮し、現段階の方針としては、 1.とにかく例の採点サイトで満点を取る 2.ユーザーの気持ちになって、完成したページを利用してみる 以上2本立てのテストをやれば良いかなと。 あと邦訳ページのご紹介ありがとうございました。 お気に入りに登録しました!

回答No.1

http://www.w3.org/TR/html4/interact/forms.html#adef-accesskey HTML4.01、XHTML1.0/1.1ではCDATAとして定義されていますので、 "は&quot;などにしておけば良いと思います。 タブキーと改行はスペースとして扱いますから、この2つは使用できないと思いますが、 CDATAである以上、日本語やアラビア語などでも可能(必要があればURLエンコードする)なはずです。 あくまで文法上は。 ブラウザがサポートしているかどうかで判断されるなら、accesskeyそのものをサポートしていないブラウザもありますので、私は文法が絶対ではないと思います。ご参考まで。

zyousuke
質問者

お礼

talooさん、ご返信ありがとうございます。 ご紹介いただいたサイトにはCDATAに関する説明が掲載されているのでしょうか。 CDATAとは何ですか。 http://openlab.ring.gr.jp/k16/htmllint/htmllintl.html 私はこのチェックサイトをかなり信頼していて、しょっちゅう利用しています。 ここで、 <a href="abc" accesskey="&quot;">abc</a> をチェックすると、 <a> の accesskey の属性値 `&quot;` は正しくありません。ASCII1文字でなければなりません。 というエラーになります。 逆に、 <a href="abc" accesskey='"'>abc</a> とすると、 <a> の accesskey の属性値が '"' と書かれていますが、"&quot;" の方が安全です。 というエラーになり、どっちやねん???って感じです。 <a href="abc" accesskey="&lt;">abc</a> および <a href="abc" accesskey="&gt;">abc</a> も、 <a href="abc" accesskey="&quot;">abc</a> と同様のエラーになります。 <a href="abc" accesskey="<">abc</a> と <a href="abc" accesskey=">">abc</a> については 多量のエラーが出るのでおそらくNGですね・・・ またURLエンコードも試してみました。 &、<、>をURLエンコードすると、それぞれ%22、%3C、%3Eとなるので、 <a href="abc" accesskey="%22">abc</a> <a href="abc" accesskey="%3C">abc</a> <a href="abc" accesskey="%3E">abc</a> としました。 しかし、 <a> の accesskey の属性値 `%26` は正しくありません。ASCII1文字でなければなりません。 <a> の accesskey の属性値 `%3C` は正しくありません。ASCII1文字でなければなりません。 <a> の accesskey の属性値 `%3E` は正しくありません。ASCII1文字でなければなりません。 というエラーになってしまいました。 以上の実験から予想するに、次の記号3個 ダブルクォート(") 開き山カッコ(<) 閉じ山カッコ(>) はaccesskeyに使用できないという結論に行き着きました。 また、日本語やアラビア語に関してもダメなのではと思うのですが、どうでしょうか。 それとも、このチェックサイトがバグってる??? accesskeyで使用可能な文字の一覧表が、どこかのサイトにありそうなものですが、なかなか見つからないものですね・・・

関連するQ&A

  • スペースキーを押すと文字が消える

    Microsoft Word 2007を使っているのですが、 スペースキーを押すと前の文字が消えてしまいます。 どうすればよいでしょうか。 よろしくお願いします。 ※先ほど「シフトキー」で質問してしまいましたが、正しくはスペースキーです。

  • 文字の打ち方教えて下さい

    最近のウイルスに関しての アップデート終了しました。 感染しているかどうかのチェックの仕方で (ファイル)検索の方法が載っていたので 調べてみる事にしました。 でも 文字の打ち方が解かりません。 /の逆のような 左上から右下への棒線 ひらがなの 「ろ」のキーだと思うのですが 打てないのです。色々シフトキーなど押してみても ¥ばかり出てきます。どのようにすれば このマーク 打てますか? 教えて下さい。 お願いします。

  • 文字(画面自体)が横広に

    絵文字を作ろうとして、カッコの表示を打とうと シフトキーを押そうとしたら 他のキーと数字(たぶん)を押してしまったらしく 画面の表示が横広になって、文字も横広にぼやけて表示されるように なってしまいました。 シフトキーの傍にあるのはコントロールキーとかなんですけど 何を押してしまったのか、わかりません。 表示を元に戻したいのですが、わかる方がいらっしゃいましたら 教えて頂きたいです。 よろしくお願いします(>_<)

  • パソコンのキーボードで、英数字から、ひらがな入力に転換しようとするときに、スペースキーの右隣の

    パソコンのキーボードで、英数字から、ひらがな入力に転換しようとするときに、スペースキーの右隣の、キー〈前候補変換〉と、その更に右隣のキー〈カタカナひらがな)と、どちらも、仕えるのですが、その時々、場合場合によって、どちらか一方が使えなくなります。どういう場合にどちらを使うのか教えてください。 あと、『〈 〉』マークとか、『?』マークとか、『!』マークとか、使用頻度が凄く多いのに、何でいちいちシフトキーを押さければならないようになっているのですか? これら3つの、記号を、シフトを押さないで使える方法はありませんか? よろしくお願いします。

  • キーボードが正しく文字を打ちません

    最初に気がついたのが@。この@はシフトキーを押して数字の2の所です。Pの隣は「になります。スペースキーで漢字変換します。半角/全角キーも全く作動しません。記号の位置はバラバラです。 ウィルスセキュリティーのシリアル番号が変わった為新たにダウンロードしてからです。(立ち上がりも3分4分掛かる様になりました) 関係があるのでしょうか?

  • 原因は何でしょう!?文字(記号)入力が変です。。。

    ワードなどで文字入力をしている時なんですが、記号(カッコやハイフン等)を入力すると前の文字が消えてしまいます(1つ前に戻ってしまいます)。記号を入力する時だけなんですが、今までこんな事がなかったので少し困ってます。知らない間に、どこかのキーを押してしまい、そういう設定になってしまったのでしょうか。ちなみに、記号を入力したい時は、前の文字を入力後1つスペースを打ってからでないと入力出来ません。少々面倒なので、直し方をご存知でしたら教えて下さい。ヘルプを見ても、該当するものが見つからなかったので、よろしくお願いします!

  • 円記号の文字化け

    HTMLを出力するPerlを新しくアカウントを取得したレンタルサーバにアップロードしたら、これまで正常に表示できていた円記号が半角バックスラッシュになりました。 IEのメニューでSJISにチェックがあるからSJISで解釈しているようですが、セリフが付いていていつもの文字とは違うように見えます。 IEで表示ページをローカルにダウンロードするとなぜかちゃんと円記号として見れますし、セリフも無いです。 文字化けではなく文字コードの違いかもしれませんが、どうやったら直りますか?

    • ベストアンサー
    • Perl
  • アポストロフィにはどの記号を使えばいいのでしょうか

    アポストロフィを入力する場合はいつも数字の「7」のキーに付いている記号を入力していました。 でも、今日見ると、下記のWikipediaの「直線形」の項に「ただしUnicodeでは使用は推奨されない。なおU+0027の文字名称は歴史的な経緯から「アポストロフィー」となっているが、アポストロフィーとしての使用も推奨されず、閉じシングルクォートと同じU+2019を使う」とあります。 http://ja.wikipedia.org/wiki/%E5%BC%95%E7%94%A8%E7%AC%A6 [A] これは、次の(1)、(2)のどちらの意味でしょうか。 (1)アポストロフィーとしては、正しい英語ではU+0027を使う。 (2)アポストロフィーとしては、正しい英語ではU+2019を使う。 つまり、アポストロフィを入力するときには、Unicodeで推奨されるかどうかは別にして、正しく英語を書くためにはU+0027、U+2019のどちらを使ったらいいのでしょうか。 [B] UnicodeではU+0027が推奨されない理由は何でしょうか。

  • 文字入力が!

    文字を入力する時に、キーボード上の文字と違う文字が出てきます。 たとえば「@」を入力しようと思うと数字の「2」をシフトキーで。「¥」を入力しようと思うと「む」のキーを押す・・・という風にキーの位置が変わってしまったんです(T^T)←このようにかっこを使って絵文字を作るのも一苦労です!! 以前に言語バーが出てこなくなって、それを直そうと、ヘルプのページを見ながらちゃんとしたつもりだったんですが、言語バーも以前と違うし、文字入力もそれからおかしくなったんです。 元に戻したいのですが、お願いします。

  • Win XPで文字変換ができなくなりました。

    5年使用のパソコンで文字変換ができなくなりましたが、例えば今までは変換するときスペースキーあるいは変換キーでやっていたのにスペースキーのみでしかへんかんできず、また@マークキーを押しても@がでてこないし、@キーを押すと右となりの記号が表示される。 誰か助けてください。

専門家に質問してみよう