學習焦點()
鑰匙要點
- 對於Web可訪問性,管理焦點在JavaScript驅動的交互式小部件中至關重要。重要的是使用程序化焦點以確保用戶可以與接口的不同區域進行交互,即使不使用鼠標。
在更改ScrollTop的動畫中,必須覆蓋元素的默認功能,以確保屏幕讀取器輸出和鍵盤交互從頁面的正確區域繼續。這可以通過使用TabIndex屬性以編程為焦點的目標片段來實現這一目標,並在動畫的回調中包括JavaScript focus()方法。
> 關閉對話框或模態窗口時,重新關注打開對話框的元素是合乎邏輯的。這可以通過將DOM節點保存在內存中或在其上寫下標記來完成。這有助於用戶知道他們在頁面上的位置,並防止他們必須涉足文檔才能再次找到自己的位置。
- 多虧了好運,我有一雙功能齊全的眼睛。當涉及到網頁時,這是一個福音,因為將我的注意力從頁面的一個部分轉移到另一部分,只需半自覺地收縮我的眼外肌肉,並旋轉我的眼睛的圓周。 >儘管我的視覺效果 - 因此,因此可以說已經改變了焦點,但用戶界面本身並不知道我的注意力已經改變。至少,直到我開始與新審查的區域進行物理相互作用。換句話說,旋轉我的眼球是一個未錄製的事件。
>這是一個非常普遍但經常未解決的可訪問性問題:如果我不使用眼睛(和鼠標的手指向),那麼我如何“專注於”某些東西以與之互動?我確定您知道的答案是通過程序化的重點。但是,這並不像將“焦點”元素合併到我們的設計中那麼簡單。有時,不是用戶,而是用戶代表用戶的接口必須在不同區域之間移動。這就需要故意將重點管理集中在開發人員方面。
對於可訪問性,即使是最簡單的JavaScript驅動的交互式小部件,管理焦點至關重要,但是使用自動化的QA
工具幾乎不可能進行正確的用法。這就是為什麼我今天想帶您幾個簡單的示例。>
> scrolltop動畫
在此示例中,我邀請您想像您已經“增強”了同一頁面導航鏈接,以便您不要突然跳到鏈接的目標片段(#第1節,假設),而是將其輕輕地引入此目的地通過JavaScript捲軸動畫。使用此技術時要注意的有關可訪問性的重要信息是覆蓋元素的默認功能的必要性。
event<span>.preventDefault();</span>
不鏈接。實際上,確定鏈接實際上正確將用戶正確到頁面片段的唯一方法是關閉JavaScript。好吧, >通過簡單地鏈接到頁面片段(就像JavaScript Off的一個人一樣),瀏覽器本質上是
focus此片段。這是屏幕讀取器輸出和鍵盤交互現在基於的地方。通過對ScrollTop進行動畫操作,不會進行這種聚焦操作,這意味著屏幕閱讀器的輸出和鍵盤交互從頁面區域繼續進行,而不再是視圖。這是不好的。 補救症
我們需要通過JavaScript聚焦目標片段。首先,我們需要將片段從編程上開始,因此需要使用Tabindex屬性。 Tabindex值為-1是一個特殊的值,這意味著腳本可以將元素重點放在,但不能集中用戶。這比TabIndex更可取:在這種情況下,因為沒有理由使用Tab鍵。
>注意:感謝Patrick和其他人在評論中指出的事實是,這應該使用“ -1”而不是“ 0”作為Tabindex值,我們現在已經更正了。 🎜>
我們的第二個任務是將JavaScript focus()方法包括在動畫的回調中,確保動畫結束後的片段焦點>。
>最後,最好像簡單地鏈接到片段(例如http:// my-site/#Section1)那樣記錄我們在URL中的子頁面位置。這樣,我們就可以將地址複製為指向特定部分的鏈接(即我們可以“深鏈接”)。在焦點()發生之後包括以下行:<span><span><span><section</span> id<span>="section1"</span> tabindex<span>="-1"</span>></span> </span> ... <span><span><span></section</span>></span></span>
當然,您將根據相應鏈接的HREF為任何變量替換“第1節”,減去#。
<span>document.getElementById('section1').focus();</span>
>一個小的Codepen演示在下面嵌入。嘗試將其與僅作為慣常鍵盤用戶的tab和Shift Tab使用。
<span>window.location.hash = 'section1';</span>
請注意,我們在JavaScript中即時添加了Tabindex屬性。現在,我們將要滾動到的部分(片段)集中到了我們所感知的位置不僅僅是視覺效果。也就是說,我應該在轉到新部分後按TAB鍵,我將集中該部分中的下一個焦點元素;在下面的示例中,超鏈接讀取“ heydonworks.com”。
>event<span>.preventDefault();</span>
>如果我們不專注於第1節,請按TAB鍵將關注插圖鏈接之後的下一個元素,該鏈接將將視口躍回我們的導航塊。換句話說,鍵盤用戶將返回第一方。
><span><span><span><section</span> id<span>="section1"</span> tabindex<span>="-1"</span>></span> </span> ... <span><span><span></section</span>></span></span>
關閉對話框(模式窗口)
這是另一個小例子。讓我們假裝用戶按下
為了使打開此按鈕可訪問,我們應該以與最後一個示例中的頁面片段相同的方式進行焦點()對話框。使用jqueryui,對話框的第一個按鈕(在我們的情況下為“確認”)將集中在集中。其他實現將對話容器集中。無論哪種方式,用戶都可以通過編程方式發送到正確的位置。 >問題是:“對話框關閉時會集中註意力?”如果我們什麼也不做,新隱藏的對話框一定會失去焦點,但什麼都不會取代。在許多用戶代理中,這意味著默認情況下
焦點是使用戶通過文檔再次找到自己的位置。 >重新集中打開對話框的元素是更合乎邏輯的。這很容易通過將DOM節點保存在內存中或在其上寫下標記以供以後使用,例如:<span>document.getElementById('section1').focus();</span>
>在對話框的結尾()方法的末尾,我們只會集中原始元素:
>大多數屏幕讀取器重新集中在按鈕時,都會宣布頁面的標題,然後宣布焦點按鈕。這樣,您知道自己在哪裡。使用此方法的對話框的一個示例可以進行測試。
<span>window.location.hash = 'section1';</span>
結論
<span><span><span><a</span> href<span>="#whatever"</span>></span>scroll to section 'whatever'<span><span></a</span>></span></span>
>還有一件事:如果您曾經負責使用使用ember.js或angularjs構建的一個頁面應用程序,請使用JavaScript focus()方法的代碼庫。此類應用程序完全使用“視圖”完全重寫導航;單一頁面的動態重建。如果沒有一些仔細的焦點管理,以這種方式重建DOM很快就可以很快弄清可訪問性。如果您的GREP發現不到幾個.cocus實例,則可能有很多工作要做。
>經常詢問有關改善專注和集中的問題
>>有哪些實際方法可以改善我的專注力和集中度?首先,保持健康的生活方式至關重要。這包括獲得足夠的睡眠,飲食平衡以及定期體育鍛煉。其次,正念和冥想可以幫助訓練您的大腦以更好地集中精力。第三,最大程度地減少了分心,例如關閉設備上的通知,可以幫助您專注於手頭的任務。最後,從長遠來看,定期休息實際上可以提高您的注意力和生產力。
>>在學習時如何保持專注?
>
>我如何改善工作的注意力?您的任務並根據其重要性和緊迫性對它們進行優先級。定期休息以避免倦怠也很有幫助。此外,最大程度地減少了分心,例如關閉設備上不必要的通知,可以幫助您專注於任務。>冥想可以幫助提高注意力和集中度嗎?它訓練您的大腦專注於當前時刻,而忽略分心。常規練習會導致注意力跨度的提高和更好的認知功能。
>
>睡眠如何影響注意力和濃度?
睡眠在認知功能中起著至關重要的作用。缺乏睡眠會損害關注,專注和決策能力。因此,獲得足夠的質量睡眠對於保持良好的專注和集中度至關重要。>
>有些共同的注意力,我如何避免它們?常見的干擾包括社交媒體,電子郵件和不必要的通知在您的設備上。為了避免這些,您可以設置特定時間檢查電子郵件和社交媒體。關閉不必要的通知也可以幫助最大程度地減少干擾。
>>我如何訓練我的大腦以更好地集中註意力?
可以通過常規練習來訓練您的大腦以更好地進行注意力。正念和冥想等技術可以提供幫助。此外,用難題和遊戲挑戰大腦也可以提高認知功能和專注。和集中度。因此,通過深呼吸,瑜伽和正念等技術來管理壓力可以幫助提高注意力和集中註意力。以上是學習焦點()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

實現視差滾動和元素動畫效果的探討本文將探討如何實現類似資生堂官網(https://www.shiseido.co.jp/sb/wonderland/)中�...

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

探索前端中類似VSCode的面板拖拽調整功能的實現在前端開發中,如何實現類似於VSCode...
