2016-07-26 3 views

答えて

8

<button>

変更<button>から<a href="#">とはそれにあなたのイベントハンドラを置きます。

要素が属しているにいくつかのより多くのコンテキスト

....

コントロールは、私は別のページにかかりますか?

、クリックされたタップ、または活性化されたキーボードや音声で(あるいはここで新たなインタラクション方法を挿入)する場合であれば、ユーザーは(同じページ上のアンカーを含む)別のURLに泡立てされ、その後、<a href="[URL]">を使用するアンカーを使用します。 href属性を使用し、実際のURLが「#」ではないことを確認してください(それ以外の場合は、ハイパーリンクにはまったく必要ないJavaScriptを使用している可能性があります)。 hrefがちょうど "#"を指している場合は、間違っている可能性があります。あなたの進歩的な強化の取り組みの一環として、指定されたアンカーを指している場合、それは完全に有効です。

コントロールが現在のページで何か変更されていますか?

アクティブにすると、ユーザーはページ(またはページ内のアンカー)に移動するのではなく、新しいビュー(メッセージボックス、レイアウトの変更など)が表示されます。 、<button>を使用してください。<input type="button">を使用することはできますが、既存のスタイルやそれ以降の開発者(私のような)との競合が起こりそうです。

コントロール送信フォームフィールドはありますか?

有効にすると、ユーザーが入力した情報(手動入力または画面上の項目の選択)がサーバーに返されてから<input type="submit">を使用します。これは<form>の中でよりよく生きています。より多くのスタイリングコントロールが必要な場合や、単なるテキスト文字列以外に埋め込む必要がある場合は、代わりに<button type="submit">を使用してください。一瞬のキーボードユーザーの

キーボード上の考慮事項は、

と思います。ハイパーリンクは、Enterキーを押して起動できます。しかし、実際のボタンは、エンターキーまたはスペースバーを押すことによって起動することができます。ハイパーリンクにフォーカスがあり、ユーザーがスペースバーを押すと、ページは1画面分スクロールします。スクロールしない場合は、ユーザーは何も経験しません。同じように見えるインターフェイス要素のセットが与えられている場合、スペースバーを使って作業するものとそうでないものがある場合、ユーザーがページの振る舞いに大きな自信を持っているとは思えません。

スペースキーでトリガされたイベントは、キーが離されたときにのみ起動され、Enterキーを使用すると、キーを押して(離す前に)すぐにイベントが発生します。

1

私は2つの可能なケースがあると思います。

  1. あなたのコンテンツが唯一の視覚的にページに隠されたり、ページに表示(スクリーンリーダーで読むことができます)とハッシュをリンクすることができますされ、その後、アンカータグが適切かもしれません(この場合は、例えば、それほど一般的ではありません。ページ上の段落や画像をモーダルとして強調表示している場合)。

  2. ほとんどの場合、あなたのモーダルは同じページにロードされ、URLリンクを使用してナビゲートされることはありません(おそらくデータにアクセスするためのajax以外はカウントされません)。したがって、それはカスタム機能であり、ボタンが適切な選択肢です。

1

一言で言えば、ダイアログは現在のウィンドウ上にポップアップするものです。あなたは本当に窓から出ているわけではなく、一時的に利用できません。ダイアログが終了したら、通常はウィンドウに戻ります。その点で、別のページに行くつもりはないので、リンクを使用したくないということです。現在のページで何らかのアクションを行っています。ボタンを使用します。

スクリーンリーダーを使用している場合は、リンク先のページ(JAWSのIns + F7)を表示することがよくあります。私はまた、ページ上でどのようなアクションが利用可能であるかを見るために、ボタンのリスト(Ctrl + Ins + B)を表示します。モーダルダイアログをボタンリストに表示するアクションが必要です。

関連する問題