検索

Learning to focus()

集中することを学ぶ()

キーテイクアウト

  • Webアクセシビリティの場合、JavaScript主導のインタラクティブウィジェットでは、フォーカスの管理が重要です。プログラマティックフォーカスを使用して、マウスを使用しなくても、ユーザーがインターフェイスのさまざまな領域と対話できるようにすることが重要です。 スクロールトップを変更するアニメーションでは、画面リーダーの出力とキーボードのインタラクションがページの正しい領域から継続するように、要素のデフォルト関数をオーバーライドする必要があります。これは、Tabindex属性を使用して宛先フラグメントをプログラム的にフォーカブルにし、アニメーションのコールバックにjavascriptフォーカス()メソッドを含めることで実現できます。
  • ダイアログまたはモーダルウィンドウを閉じるとき、ダイアログを開いた要素を再び焦点を合わせることが論理的です。これは、メモリにDOMノードを保存するか、後で使用するためにマーカーを書き込むことで実行できます。これにより、ユーザーはページ上の自分の位置を知ることができ、再び自分の場所を見つけるためにドキュメントを通り抜けなければならないのを防ぎます。
  • 幸運のおかげで、私は機能的な目を持っています。 Webページを横断することになると、これはページのある部分から別の部分に私の焦点をシフトするには、半意識的に私の球体外筋に契約し、眼球を一部回転させること以外に何も必要としないので、これは恩恵のようなものです。
  • 私の視覚的 - したがって、認知的な焦点が変化したと言われるかもしれませんが、ユーザーインターフェイス自体は私の注意が変わったことを知りません。少なくとも、私が新しく精査された地域と物理的に交流し始めるまで。別の言い方をすれば、眼球を回転させることは記録されていないイベントです。
ここには非常に一般的ですが、頻繁には延長されていないアクセシビリティの問題があります。目(そしてマウスの手を指す)を使用していない場合、それと対話するために何かに「集中」するにはどうすればよいですか?あなたが知っていると確信しているように、答えはプログラムの焦点を介してです。ただし、「フォーカス可能な」要素をデザインに組み込むだけではありません。場合によっては、ユーザーではなく、異なる領域間でフォーカスを移動する必要があるのはユーザーに代わってインターフェイスです。これには、開発者側の意図的なフォーカス管理が必要です。 アクセシビリティの場合、最も単純なJavaScript駆動型のインタラクティブウィジェットでさえ、フォーカスの管理が不可欠ですが、自動化されたQA

ツールでテストすることはほとんど不可能です。だから私は今日いくつかの簡単な例をあなたに連れて行きたいです。

Scrolltopアニメーション

この例では、リンクのターゲットフラグメントに突然ジャンプする代わりに(#section1、レッド)、この目的地に穏やかに案内されるように、同じページのナビゲーションリンクを「強化」したことを想像するように勧めます。 JavaScript Scrolltopアニメーションを介して。この手法を使用する際のアクセシビリティに関する重要なことは、要素のデフォルト関数をオーバーライドする必要性です。

これを行うことにより、ブラウザに、標準、予想、または相互運用可能なことを避けるようにブラウザに伝えています。リンクを

event<span>.preventDefault();</span>
リンクに触れていると言っています。実際、リンクが実際にユーザーをページフラグメントに正しく使用することを確認する唯一の方法は、JavaScriptをオフにすることです。さて、

ページフラグメントにリンクするだけで、JavaScriptをオフにするように - ブラウザは本質的にこのフラグメントに焦点を合わせます。これは、スクリーンリーダーの出力とキーボードインタラクションが現在基づいている場所です。 Scrolltopをアニメーション化することにより、そのようなフォーカスアクションは行われません。つまり、画面リーダーの出力とキーボードのインタラクションは、もはや視界にないページの領域から続きます。これは良くありません。

治療法 JavaScriptを介して宛先フラグメントに焦点を合わせる必要があります。まず、Fragmentをプログラム的に焦点を当てる必要があります。これには、Tabindex属性の使用が必要です。 -1のTabindex値は、スクリプトが要素に焦点を合わせることができるが、ユーザーではないことを意味する特別な値です。これはTabindexよりも望ましいです:0この場合、この非対話要素がTABキーを使用して焦点を合わせる必要がある理由がないためです。

注:パトリックなどのコメントに感謝します。これは、これが修正されたTabindex値に「0」ではなく「-1」を使用する必要があるという事実を指摘してくれました。 🎜>

2番目のタスクは、アニメーションのコールバックにjavascriptフォーカス()メソッドを含めることであり、アニメーションが終了した後、フラグメントが

最後に、フラグメントにリンクするだけで起こるように、URLにサブページの場所を記録することをお勧めします(例:http:// my-site/#section1)。これにより、特定のセクションへのリンクとしてアドレスをコピーできます(つまり、「深いリンク」ができます)。 Focus()が行われた後の次の行を含めます: もちろん、「セクション1」は、対応するリンクのHREFが何であれ、#。

を除いて変数に置き換えます。
<span><span><span><section> id<span>="section1"</span> tabindex<span>="-1"</span>></section></span>
</span>    ...
<span><span><span></span>></span></span></span>

結果 小さなCodepenデモを以下に埋め込みます。習慣的なキーボードユーザーがそうするように、タブとシフトタブでそれを使用してみてください。

CodepenのSitePoint(@SitePoint)のペンIDXJLを参照してください

JavaScriptでTabindex属性をその場で追加していることに注意してください。スクロールしているセクション(フラグメント)に焦点を合わせているので、知覚された場所は単なる視覚以上のものです。つまり、新しいセクションに移動した後にTABキーを押した場合、そのセクション内の次の焦点の要素に焦点を合わせます。次の例では、「heydonworks.com」というハイパーリンクの読み取り

event<span>.preventDefault();</span>
セクション1に焦点を合わせていなかった場合、タブキーを押すと、扇動リンクに続いて次の要素に焦点を合わせて、ビューポートをナビゲーションブロックに戻します。言い換えれば、キーボードユーザーは正方形に戻ります。

閉じるダイアログ(モーダルウィンドウ)
<span><span><span><section> id<span>="section1"</span> tabindex<span>="-1"</span>></section></span>
</span>    ...
<span><span><span></span>></span></span></span>

これが別の小さな例です。ユーザーが

問題は、「ダイアログが閉じたときに何が焦点を合わせるのか」ということです。何もしないと、新しく隠されたダイアログは必ずしも焦点を失いますが、その代わりに何も得られません。多くのユーザーエージェントでは、これはがデフォルトに焦点を合わせていることを意味し、ユーザーがドキュメントを歩き回って再び自分の場所を見つけることを意味します。

ダイアログを開いた要素を再び焦点を合わせる方が論理的です。これは、メモリにDOMノードを保存するだけで、このように後で使用するためにマーカーを書くことで簡単に行うことができます。 ダイアログのclose()メソッドの最後に、元の要素に焦点を合わせるだけです。

ほとんどのスクリーンリーダーは、ボタンがリモーシングされているため、ページのタイトル、フォーカスボタンを発表します。そうすれば、あなたはあなたがどこにいるかを知っています。この方法を使用したダイアログの例は、必要に応じてテストに利用できます。
<span>document.getElementById('section1').focus();</span>
結論

進行性の強化とアクセシビリティを混同することはよくある間違いです。 JavaScriptの操作に何かを劣化させることを確認することは、(この場合のように)オフになっていることを意味します。確かに、JavaScriptのない人がアクセスしやすくなりますが、ほとんどのキーボードとスクリーンリーダーのユーザーは、他の人と同じようにJavaScriptの助けを借りてアプリケーションと対話します。秘trickは、すべてのユーザーの異なる動作と入力、および使用する支援技術を尊重する方法でJavaScriptを使用することです。もう1つ:Ember.jsまたはAngularjsで構築された1ページのアプリケーションでの作業を担当した場合、JavaScriptフォーカス()メソッドのコードベースをグレップします。このようなアプリケーションは、「ビュー」を使用してナビゲーションを完全に書き直します。単数ページの動的な再構築。慎重なフォーカス管理がなければ、そのような方法でDOMを再構築することは、アクセシビリティをかなり迅速に台無しにする義務があります。グレップが数杯未満のインスタンスを見つけた場合、やるべきことがたくさんあるかもしれません。

焦点と集中の改善に関するよくある質問

私の焦点と集中力を改善するためのいくつかの実用的な方法は何ですか?

焦点と集中を改善するためのいくつかの実用的な方法があります。第一に、健康的なライフスタイルを維持することが重要です。これには、十分な睡眠、バランスの取れた食事を食べること、定期的な身体活動が含まれます。第二に、マインドフルネスと瞑想は、あなたの脳をよりよく集中するように訓練するのに役立ちます。第三に、デバイスの通知をオフにするなどの注意散漫を最小限に抑えることで、手元のタスクに集中するのに役立ちます。最後に、定期的な休憩を取ることは、長期的には実際にあなたの焦点と生産性を向上させることができます。学ぶ。これは、気を散らすものを最小限に抑えた静かで明るいスペースを意味します。また、学習セッションを管理しやすいチャンク、通常は25〜30分の長さで、短い休憩を取得することも役立ちます。この技術は、ポモドロ技術として知られています。さらに、各学習セッションで明確で達成可能な目標を設定すると、やる気と集中力を維持できます。

特定の食品は私の集中を改善できますか?魚や亜麻仁などのオメガ3脂肪酸が豊富な食品は、脳の健康をサポートすることが知られています。さらに、果物や野菜、特に抗酸化物質が豊富なものは、脳を損傷から保護し、認知機能を改善するのに役立ちます。赤身の肉やマメ科植物のようなタンパク質が多い食品は、脳の注意を喚起し、集中させるのにも役立ちます。脳にとって多くの利点。それは血流を増加させ、脳の健康と認知機能を改善します。エクササイズはまた、エンドルフィンを放出し、気分を改善し、ストレスを軽減し、焦点と集中力を改善します。あなたのタスクと彼らの重要性と緊急性に基づいてそれらを優先します。燃え尽きを避けるために定期的な休憩をとることも役立ちます。さらに、デバイスの不必要な通知をオフにするなどの注意散漫を最小限に抑えることで、タスクに集中するのに役立ちます。

瞑想は焦点と集中力を改善するのに役立つことができますか?それはあなたの脳を訓練し、現在の瞬間に集中し、気晴らしを無視します。定期的な練習は、注意力の向上と認知機能の改善につながる可能性があります。

睡眠は焦点と集中力にどのように影響しますか?睡眠不足は、注意、焦点、意思決定スキルを損なう可能性があります。したがって、十分な質の高い睡眠を取得することは、焦点と集中力を維持するために不可欠です。

一般的な注意散漫は何ですか?それらを回避するにはどうすればよいですか?デバイスで。これらを避けるために、メールやソーシャルメディアをチェックするために特定の時間を設定できます。不要な通知をオフにすると、気晴らしを最小限に抑えることができます。

脳をより良く訓練するにはどうすればよいですか?

脳のトレーニングをより良くすることで、定期的な練習を通して達成できます。マインドフルネスや瞑想などのテクニックが役立ちます。さらに、パズルとゲームで脳に挑戦することは、認知機能と焦点を改善することもできます。と集中。したがって、深い呼吸、ヨガ、マインドフルネスなどのテクニックを通じてストレスを管理することは、焦点と集中力を改善するのに役立ちます。

以上が集中することを学ぶ()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Java vs JavaScript:開発者向けの詳細な比較Java vs JavaScript:開発者向けの詳細な比較May 16, 2025 am 12:01 AM

Javaandjavascriptaredistinctlanguages:javaisusedforenterpriseandmobileapps、whilejavascriptisforinteractivewebpages.1)javaiscompiled、staticatically、andrunsonjvm.2)javascriptisisterted、dynamsornoded.3)

JavaScriptのデータ型:ブラウザとNodejsに違いはありますか?JavaScriptのデータ型:ブラウザとNodejsに違いはありますか?May 14, 2025 am 12:15 AM

JavaScriptコアデータ型は、ブラウザとnode.jsで一貫していますが、余分なタイプとは異なる方法で処理されます。 1)グローバルオブジェクトはブラウザのウィンドウであり、node.jsのグローバルです2)バイナリデータの処理に使用されるNode.jsの一意のバッファオブジェクト。 3)パフォーマンスと時間の処理にも違いがあり、環境に従ってコードを調整する必要があります。

JavaScriptコメント://および / * *を使用するためのガイドJavaScriptコメント://および / * *を使用するためのガイドMay 13, 2025 pm 03:49 PM

javascriptusestwotypesofcomments:シングルライン(//)およびマルチライン(//)

Python vs. JavaScript:開発者の比較分析Python vs. JavaScript:開発者の比較分析May 09, 2025 am 12:22 AM

PythonとJavaScriptの主な違いは、タイプシステムとアプリケーションシナリオです。 1。Pythonは、科学的コンピューティングとデータ分析に適した動的タイプを使用します。 2。JavaScriptは弱いタイプを採用し、フロントエンドとフルスタックの開発で広く使用されています。この2つは、非同期プログラミングとパフォーマンスの最適化に独自の利点があり、選択する際にプロジェクトの要件に従って決定する必要があります。

Python vs. JavaScript:ジョブに適したツールを選択するPython vs. JavaScript:ジョブに適したツールを選択するMay 08, 2025 am 12:10 AM

PythonまたはJavaScriptを選択するかどうかは、プロジェクトの種類によって異なります。1)データサイエンスおよび自動化タスクのPythonを選択します。 2)フロントエンドとフルスタック開発のためにJavaScriptを選択します。 Pythonは、データ処理と自動化における強力なライブラリに好まれていますが、JavaScriptはWebインタラクションとフルスタック開発の利点に不可欠です。

PythonとJavaScript:それぞれの強みを理解するPythonとJavaScript:それぞれの強みを理解するMay 06, 2025 am 12:15 AM

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

JavaScriptのコア:CまたはCの上に構築されていますか?JavaScriptのコア:CまたはCの上に構築されていますか?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptアプリケーション:フロントエンドからバックエンドまでJavaScriptアプリケーション:フロントエンドからバックエンドまでMay 04, 2025 am 12:12 AM

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール