這里給大家分享我在網(wǎng)上總結(jié)出來的一些知識,希望對大家有所幫助
本文介紹了一種新的HTML元素搜索方法,并提供了一個實用的工具來幫助開發(fā)者快速找到所需的元素。這對于那些需要處理大量HTML元素的開發(fā)者來說是非常有用的。文章還通過提供一些常見元素的用法示例,幫助開發(fā)者更好地理解和應(yīng)用這些元素。在眾多元素中找到特定的元素。為了解決這個問題,文章介紹了一種新的HTML元素搜索方法。
下面是正文
一個新的語義元素已經(jīng)加入了 HTML 標(biāo)準(zhǔn) 。它代表文檔中用于搜索或過濾的部分。它應(yīng)該包含表單控件(如文本輸入、下拉菜單、按鈕等),搜索/過濾的范圍可以是任何內(nèi)容:從同一文檔到整個互聯(lián)網(wǎng)。
【資料圖】
如何運(yùn)作
在
元素之前,我們可以在 標(biāo)簽中添加
role="search"
以指示該表單用于搜索:
有了這個新添加的功能,我們可以使用
由于
是標(biāo)準(zhǔn)中的新內(nèi)容,所有瀏覽器、屏幕閱讀器和其他工具可能需要一段時間才能跟上。在此期間,我們可以使用一個 hack
,指定它已經(jīng)具有的 ARIA 角色(類似于 所發(fā)生的情況)。這在未來可能會變得多余,但它可能會為我們的代碼做好準(zhǔn)備,以便在瀏覽器支持新標(biāo)簽時使用。
...
這看起來有些違反直覺:我們正在移除 role="search"
,但我們正在用
包裝所有內(nèi)容??傮w而言,這是更多的文本/代碼(僅三個字符)和更多的嵌套(一個更高的級別)。
溫馨提示:盡管我們在構(gòu)建搜索組件時并不強(qiáng)制需要
標(biāo)簽,但是使用它卻能帶來額外的好處(甚至是必須的)。這樣,即使在無JavaScript環(huán)境下,搜索功能也能保持正常運(yùn)行,或者說,這是一種實踐漸進(jìn)式增強(qiáng)策略的方式。
另一個需要注意的關(guān)鍵點是,搜索區(qū)域不一定是網(wǎng)站或在線平臺上帶有搜索按鈕的文本輸入框。我們可以使用
來過濾結(jié)果或表格行。它的實用性不僅限于文本輸入和搜索框:
Filter results
看法
擁有一個用于識別搜索區(qū)域的元素是很好的。正如Scott O"Hara在這篇文章中指出的那樣,直到現(xiàn)在,這是唯一一個在HTML中沒有語義等效項的ARIA地標(biāo)角色:
- banner →
- complementary →
- form →
- main →
- navigation →
- region →
- search → ???
使用
來標(biāo)識應(yīng)具有“搜索”角色的部分,我們將使用一些語義化的 HTML 元素覆蓋所有 ARIA 地標(biāo)角色。這很棒:它將提高可訪問性(盡管如上所述,需要一段時間才能讓所有瀏覽器跟上),并擴(kuò)展了語言的語義。
但是,從程序員的角度來看,它感覺不夠完善或沒有為現(xiàn)有的實現(xiàn)增加太多東西。其他語義元素可以提高可訪問性并簡化我們編寫特定組件的方式。例如,像
和
這樣的東西,在我看來會更具說服力和價值。
這并不會削弱它的重要性。所有的改進(jìn) - 即使是微小的改進(jìn) - 都是受歡迎的。這也適用于
。這是 HTML 家族的一個極好的新成員。
代碼部署后可能存在的BUG沒法實時知道,事后為了解決這些BUG,花了大量的時間進(jìn)行l(wèi)og 調(diào)試,這邊順便給大家推薦一個好用的BUG監(jiān)控工具 Fundebug。