Rumah > hujung hadapan web > tutorial js > Belajar Fokus ()

Belajar Fokus ()

Jennifer Aniston
Lepaskan: 2025-02-21 10:39:14
asal
660 orang telah melayarinya

3

Takeaways Key Learning to focus()

Untuk kebolehcapaian web, menguruskan fokus adalah penting dalam widget interaktif yang didorong oleh JavaScript. Adalah penting untuk menggunakan fokus programatik untuk memastikan pengguna dapat berinteraksi dengan pelbagai bahagian antara muka, walaupun tanpa menggunakan tetikus. Belajar Fokus ()

Dalam animasi yang menukar scrollTop, fungsi lalai elemen mesti ditindih untuk memastikan bahawa output pembaca skrin dan interaksi papan kekunci terus dari kawasan yang betul halaman. Ini dapat dicapai dengan membuat serpihan destinasi yang fokus secara programatik menggunakan atribut TabIndex dan termasuk kaedah JavaScript Focus () dalam panggilan balik animasi.

Apabila menutup dialog atau tingkap modal, ia adalah logik untuk memfokuskan semula elemen yang membuka dialog. Ini boleh dilakukan dengan menyelamatkan nod DOM dalam ingatan atau menulis penanda di atasnya untuk kegunaan kemudian. Ini membantu pengguna mengetahui lokasi mereka di halaman dan menghalang mereka daripada menyebarkan dokumen untuk mencari tempat mereka lagi.
  • Terima kasih kepada Good Fortune, saya mempunyai sepasang mata yang berfungsi. Ketika datang untuk melintasi laman web, ini adalah sesuatu yang menjadi rahmat sejak memindahkan tumpuan saya dari satu bahagian halaman ke yang lain tidak memerlukan apa-apa selain dari separuh sadar mengidap otot-otot tambahan saya dan berputar mata saya sebahagian kecil daripada lilitan mereka.
  • Walaupun visual saya - dan, oleh itu, fokus kognitif - kini boleh dikatakan telah berubah, antara muka pengguna itu sendiri tidak tahu perhatian saya telah berubah. Sekurang -kurangnya, tidak sampai saya mula berinteraksi secara fizikal dengan rantau yang baru diteliti. Untuk meletakkannya dengan cara lain, berputar bola mata saya adalah acara yang tidak direkodkan.
  • di sini terletak isu aksesibiliti yang sangat biasa tetapi sering tidak disesuaikan: Jika saya tidak menggunakan mata saya (dan tangan tetikus saya ke arah), bagaimana saya 'fokus' pada sesuatu untuk kemudian berinteraksi dengannya? Jawapannya, kerana saya pasti anda tahu, adalah melalui fokus programatik. Walau bagaimanapun, ia tidak semudah menggabungkan unsur -unsur 'fokus' ke dalam reka bentuk kami. Kadang -kadang ia bukan pengguna tetapi antara muka pada nama pengguna yang mesti memindahkan fokus antara kawasan yang berbeza. Ini memerlukan pengurusan fokus yang disengajakan di pihak pemaju.

Untuk kebolehcapaian, menguruskan fokus adalah penting dalam banyak walaupun widget interaktif yang paling mudah dipacu oleh JavaScript, tetapi penggunaan yang betul hampir mustahil untuk diuji dengan alat QA Automatik. Itulah sebabnya saya ingin membawa anda melalui beberapa contoh mudah hari ini.

Animasi ScrollTop

Dalam contoh ini, saya menjemput anda untuk membayangkan anda telah 'meningkatkan' pautan navigasi halaman yang sama supaya, bukannya melompat tiba-tiba ke serpihan sasaran pautan (#Bahagian1, katakan), anda diarahkan perlahan-lahan ke destinasi ini melalui animasi scrolltop JavaScript. Perkara penting yang perlu diperhatikan mengenai kebolehcapaian apabila menggunakan teknik ini adalah keperluan untuk mengatasi fungsi lalai elemen .

event<span>.preventDefault();</span>
Salin selepas log masuk
Salin selepas log masuk

Dengan melakukan ini, anda memberitahu penyemak imbas untuk mengelakkan, dengan semua kos, melakukan apa -apa standard, yang diharapkan atau interoperable. Anda memberitahu pautan pautan tidak . Malah, satu -satunya cara untuk memastikan pautan itu sebenarnya mengambil pengguna dengan betul ke fragmen halaman adalah untuk mematikan JavaScript. Nah, kemudian.

dengan hanya menghubungkan ke fragmen halaman - seperti yang akan dilakukan oleh JavaScript - penyemak imbas pada dasarnya

memfokuskan serpihan ini. Di sinilah output pembaca skrin dan interaksi papan kekunci kini berasaskan. Dengan menghidupkan scrolltop, tiada tindakan fokus seperti itu berlaku, bermakna output pembaca skrin dan interaksi papan kekunci berterusan dari kawasan halaman yang tidak lagi dilihat. Ini tidak baik.

ubat

kita perlu memfokuskan serpihan destinasi melalui JavaScript. Mula -mula kita perlu membuat fragmen secara fokus untuk dimulakan, yang memerlukan penggunaan atribut TabIndex. Nilai tabIndex -1 adalah nilai khas yang bermaksud skrip boleh memfokuskan elemen, tetapi bukan pengguna. Ini lebih baik untuk TabIndex: 0 Dalam kes ini, kerana tidak ada sebab mengapa elemen tidak interaktif ini harus fokus menggunakan kunci tab.

Nota: Terima kasih kepada Patrick dan lain-lain dalam komen untuk menunjukkan fakta bahawa ini harus menggunakan "-1" dan bukannya "0" untuk nilai TabIndex, yang telah kami diperbetulkan. 🎜> Tugas kedua kami adalah untuk memasukkan kaedah JavaScript Focus () dalam panggilan balik animasi, memastikan serpihan difokuskan

selepas
<span><span><span><section</span> id<span>="section1"</span> tabindex<span>="-1"</span>></span>
</span>    ...
<span><span><span></section</span>></span></span>
Salin selepas log masuk
Salin selepas log masuk
animasi berakhir.

Akhirnya, adalah idea yang baik untuk merakam lokasi sub-halaman kami di URL, seperti yang akan berlaku dengan hanya menghubungkan ke serpihan (mis. Http: // my-site/#seksyen1). Dengan cara ini kita dapat menyalin alamat sebagai pautan ke bahagian tertentu (iaitu kita boleh "mendalam pautan"). Sertakan baris berikut selepas fokus () telah berlaku:

<span>document.getElementById('section1').focus();</span>
Salin selepas log masuk
Salin selepas log masuk
Sudah tentu, anda akan menggantikan 'Seksyen1' dengan pembolehubah berdasarkan apa jua HREF pautan yang sepadan, tolak #.

<span>window.location.hash = 'section1';</span>
Salin selepas log masuk
Salin selepas log masuk
Hasil

Demo codepen kecil tertanam di bawah. Cuba gunakan dengan tab Tab dan Shift hanya sebagai pengguna papan kekunci biasa.
<span><span><span><a</span> href<span>="#whatever"</span>></span>scroll to section 'whatever'<span><span></a</span>></span></span>
Salin selepas log masuk
Salin selepas log masuk

lihat pen idxjl oleh sitepoint (@sitePoint) pada codepen.

Ambil perhatian bahawa kami menambah atribut TabIndex dengan cepat di JavaScript kami. Sekarang kita memfokuskan bahagian -bahagian (serpihan) yang kita tatal, lokasi yang kita anggap lebih daripada sekadar visual. Iaitu, saya harus menekan kekunci Tab selepas berpindah ke bahagian baru, saya akan memfokuskan elemen fokus seterusnya dalam bahagian itu; Hyperlink membaca 'heydonworks.com', dalam contoh berikut.

event<span>.preventDefault();</span>
Salin selepas log masuk
Salin selepas log masuk

Sekiranya kita tidak memfokuskan seksyen1, menekan kekunci Tab akan memberi tumpuan kepada elemen seterusnya berikutan pautan menghasut, yang akan melompat kembali ke blok navigasi kami. Dalam erti kata lain, pengguna papan kekunci akan kembali ke satu persegi.

<span><span><span><section</span> id<span>="section1"</span> tabindex<span>="-1"</span>></span>
</span>    ...
<span><span><span></section</span>></span></span>
Salin selepas log masuk
Salin selepas log masuk

Dialog Penutup (Windows Modal)

Berikut adalah satu lagi contoh kecil. Mari kita berpura -pura pengguna telah menekan dan ia dibuka dialog atau tetingkap modal. Demi hujah, dialog ini meminta pengguna untuk mengesahkan atau membatalkan tindakan yang akan ditimbulkan oleh butang.

Untuk membuat pembukaan butang ini boleh diakses, kita harus memberi tumpuan () dialog dengan cara yang sama seperti yang kita tumpukan serpihan halaman dalam contoh terakhir. Menggunakan JQueryui, butang pertama dialog ('mengesahkan', dalam kes kita) akan difokuskan. Pelaksanaan lain memfokuskan bekas dialog. Sama ada cara, pengguna secara pemrograman dihantar ke tempat yang betul .

<span>document.getElementById('section1').focus();</span>
Salin selepas log masuk
Salin selepas log masuk

Persoalannya ialah, 'Apa yang berlaku untuk memberi tumpuan apabila dialog ditutup?' Jika kita tidak berbuat apa -apa, dialog yang baru tersembunyi semestinya kehilangan tumpuan tetapi tidak ada tempat yang akan berlaku. Dalam banyak ejen pengguna, ini bermakna

difokuskan secara lalai, menjadikan pengguna menyeberang melalui dokumen untuk mencari tempat mereka lagi.

Ia akan lebih logik untuk memfokuskan semula elemen yang membuka dialog. Ini mudah dilakukan dengan hanya menyimpan nod dom dalam ingatan atau menulis penanda di atasnya untuk kegunaan kemudian, seperti ini:

<span>window.location.hash = 'section1';</span>
Salin selepas log masuk
Salin selepas log masuk

Pada akhir kaedah dekat dialog (), kami akan memfokuskan elemen asal:

<span><span><span><a</span> href<span>="#whatever"</span>></span>scroll to section 'whatever'<span><span></a</span>></span></span>
Salin selepas log masuk
Salin selepas log masuk

Kebanyakan pembaca skrin, apabila butang yang diubahsuai, akan mengumumkan tajuk halaman, maka butang yang difokuskan. Dengan cara itu, anda tahu di mana anda berada. Contoh dialog menggunakan kaedah ini tersedia untuk ujian sekiranya anda inginkan.

Kesimpulan

Ini adalah kesilapan yang sama untuk mengatasi peningkatan progresif dengan aksesibiliti; Untuk berfikir bahawa memastikan sesuatu yang merosot untuk bekerja dengan JavaScript dimatikan (seperti yang akan berlaku dalam kes ini) bermakna ia 'boleh diakses'. Pasti, ia menjadikannya mudah diakses oleh mereka yang tidak mempunyai JavaScript, tetapi kebanyakan pengguna papan kekunci dan pembaca skrin berinteraksi dengan aplikasi anda dengan bantuan JavaScript seperti orang lain. Caranya ialah menggunakan JavaScript dengan cara yang menghormati tingkah laku dan input yang berbeza dari semua pengguna anda dan sebarang teknologi bantuan yang mungkin mereka gunakan.

Satu lagi perkara: Jika anda pernah didakwa bekerja pada aplikasi satu halaman yang dibina dengan, katakan, emer.js atau angularjs, grep codebase untuk kaedah fokus JavaScript (). Aplikasi sedemikian sepenuhnya menulis semula navigasi menggunakan 'pandangan'; Dinamik membina semula halaman tunggal. Tanpa beberapa pengurusan fokus yang teliti, membina semula DOM sedemikian rupa boleh mengasah aksesibiliti dengan cepat. Sekiranya grep anda mendapati kurang daripada beberapa contoh .fokus, mungkin terdapat banyak kerja yang perlu dilakukan.

soalan yang sering ditanya mengenai peningkatan tumpuan dan tumpuan

Apakah beberapa cara praktikal untuk meningkatkan tumpuan dan tumpuan saya?

Terdapat beberapa cara praktikal untuk meningkatkan tumpuan dan tumpuan. Pertama, mengekalkan gaya hidup yang sihat adalah penting. Ini termasuk tidur yang cukup, makan diet seimbang, dan aktiviti fizikal biasa. Kedua, kesedaran dan meditasi dapat membantu melatih otak anda untuk memberi tumpuan lebih baik. Ketiga, meminimumkan gangguan, seperti mematikan pemberitahuan pada peranti anda, dapat membantu anda menumpukan pada tugas di tangan. Akhir sekali, mengambil rehat tetap sebenarnya boleh meningkatkan tumpuan dan produktiviti anda dalam jangka masa panjang.

Bagaimana saya boleh fokus semasa belajar? belajar. Ini bermakna ruang yang tenang dan terang dengan gangguan yang minimum. Ia juga berguna untuk memecahkan sesi kajian anda ke dalam ketulan yang boleh diurus, biasanya 25-30 minit, diikuti dengan rehat yang singkat. Teknik ini dikenali sebagai teknik Pomodoro. Di samping itu, menetapkan matlamat yang jelas dan boleh dicapai untuk setiap sesi kajian boleh membuat anda bermotivasi dan fokus.

Bolehkah makanan tertentu meningkatkan kepekatan saya? Makanan yang kaya dengan asid lemak omega-3, seperti ikan dan flaxseeds, dikenali untuk menyokong kesihatan otak. Di samping itu, buah -buahan dan sayur -sayuran, terutamanya yang kaya dengan antioksidan, dapat membantu melindungi otak dari kerosakan dan meningkatkan fungsi kognitif. Makanan yang tinggi dalam protein, seperti daging tanpa lemak dan kekacang, juga dapat membantu menjaga otak anda berjaga -jaga dan fokus. Banyak faedah untuk otak. Ia meningkatkan aliran darah, yang meningkatkan kesihatan otak dan fungsi kognitif. Latihan juga mengeluarkan endorfin, yang dapat membantu meningkatkan mood dan mengurangkan tekanan, dengan itu meningkatkan tumpuan dan kepekatan. Tugas anda dan mengutamakannya berdasarkan kepentingan dan keperluan mereka. Ia juga berguna untuk mengambil rehat biasa untuk mengelakkan kebakaran. Di samping itu, meminimumkan gangguan, seperti mematikan pemberitahuan yang tidak perlu pada peranti anda, dapat membantu anda tetap fokus pada tugas anda.

Bolehkah meditasi membantu meningkatkan tumpuan dan kepekatan? Ia melatih otak anda untuk memberi tumpuan kepada masa sekarang dan mengabaikan gangguan. Amalan biasa boleh membawa kepada rentang perhatian yang lebih baik dan fungsi kognitif yang lebih baik.

Bagaimana tidur mempengaruhi tumpuan dan tumpuan?

Tidur memainkan peranan penting dalam fungsi kognitif. Kekurangan tidur boleh menjejaskan perhatian, tumpuan, dan kemahiran membuat keputusan. Oleh itu, tidur yang cukup berkualiti adalah penting untuk mengekalkan tumpuan dan tumpuan yang baik. pada peranti anda. Untuk mengelakkan ini, anda boleh menetapkan masa tertentu untuk memeriksa e -mel dan media sosial anda. Mematikan pemberitahuan yang tidak perlu juga boleh membantu meminimumkan gangguan.

Bagaimana saya boleh melatih otak saya untuk memberi tumpuan lebih baik? Teknik seperti kesedaran dan meditasi dapat membantu. Di samping itu, mencabar otak anda dengan teka -teki dan permainan juga boleh meningkatkan fungsi dan fokus kognitif. dan kepekatan. Oleh itu, menguruskan tekanan melalui teknik -teknik seperti pernafasan yang mendalam, yoga, dan kesedaran dapat membantu meningkatkan tumpuan dan kepekatan.

Atas ialah kandungan terperinci Belajar Fokus (). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan