11

フォームの入力フィールドのタブインデックスを定義しました。入力フィールドをタブで移動すると、送信ボタンがフォーカスを取得することはなく、ページ上の別の形式の他の入力フィールドがフォーカスを取得します。それらはすべて3より大きいタブインデックスを持っています。どうしてですか?

<form action="subscription.php" name="subscribe" method="post"  onsubmit="return isValidEmailAndEqual()">
<p id="formlabel">E-mail</p> <input type="text" name="email1" tabindex=1>

<br/>
<p id="formlabel">Repeat e-mail</p> <input type="text" name="email2" tabindex=2> <br/>
<input id="inputsubmit" type="submit" value="Subscribe" tabindex=3>
</form>

CSS:

input {
    background-color : #333;
    border: 1px solid #EEE;
    color: #EEE;
    margin-bottom: 6px;
    margin-top: 4px;
    padding: 1px;
    width : 200px;
}

#inputsubmit {
    background-color : #d7e6f1;
    border: 1px solid #EEE;
    color: #0000ff;
    margin-bottom: 6px;
    margin-top: 4px;
    padding: 1px;
    width : 200px;
}

#inputsubmit:hover {
    cursor: pointer; cursor: hand;  
    background-color : #d7e6f1;
    border: 1px solid #0000ff;
    color: #0000ff;
    margin-bottom: 6px;
    margin-top: 4px;
    padding: 1px;
    width : 200px;
}

p#formlabel{
    width: 100;
}
4

4 に答える 4

15

これはMacの「機能」であり、デフォルトでは思考入力ボックスとリストのみをタブで移動できます。すべてのコントロールをタブで移動することは、高度なオプションです。

http://support.mozilla.com/en-US/kb/Pressing+Tab+key+does+not+select+menus+or+buttons

Mac上のFirefoxは、このデフォルトのOSの動作をコピーします。

于 2010-05-19T01:51:28.613 に答える
13

これはMacOSXの問題です。Macは、テキストフィールド以外の要素(ボタンなど)にタブで移動できないように構成されている場合があります。これを変更するには、キーボードのシステム環境設定に移動します。次に、ショートカットタブをクリックして下部を確認し、すべてのコントロールにフォーカスできるようにするオプションを選択します。これで、Mac OSのすべてのボタンに加えて、SafariとFirefoxのボタンに焦点を合わせることができるはずです。

Macの設定をすばやく変更するには、CTRL + F7を押します(または、Macキーボードを使用している場合は、ファンクションキーを押しながらCTRL + F7を押してみてください)。

于 2010-09-24T12:34:25.967 に答える
4

わかりました、見てみましょう。Firefox(Mac、Windows)、Safari(Mac)、IE(Windows)で上記のコードを試しました。これが私の発見です:

使用する場合

<button name="thename" type="submit">Subscribe</button>

また

<input id=\"inputsubmit\" type=\"submit\" value=\"Subscribe\">

フォームを送信するため(同じ結果):

  • FF(Win)-タブを押すと、フォーカスがボタンに当たる
  • FF(Mac)-タブ移動時に、フォーカスがボタンに当たっていません。
  • Safari(Mac)-タブを押すと、フォーカスがボタンに当たっていません。
  • IE(Win)-タブを押すと、ボタンは常にある種のフォーカスにあるように見え、iにタブを付けるとボタンに余分なフォーカスがあります。
  • 結局のところ、フォーム内のアイテムにフォーカスがある場合は、Enterキーを押すだけで送信ボタンを「クリック」することができます。

結論は次のようにする必要があると思います。

  1. ブラウザが異なれば、動作も異なります。同じブラウザでも、異なるOS(FF)では動作が異なります。

  2. フォームのデフォルトの動作では、Enterキーを押すと、フォームの最初の送信ボタンを使用してフォームが送信されます。

  3. かなり多くのユーザーがEnterキーを押す前にアイテムにフォーカスを期待していると思うので、タブを押すときにフォーカスがボタンに当たらないのは残念だと思います。

またはあなたは何を言いますか...?

于 2010-02-26T07:51:35.623 に答える
-1

タブインデックスを定義する必要はありません。作成によってソートされるときにタブインデックスの自然な順序を変更したい場合を除いて、それらをあきらめることもできます。それらをすべて取り出してみて、それがあなたの好みによりうまくいくかどうかを確認してください。

于 2010-02-25T14:34:56.843 に答える