国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
簡單實(shí)現(xiàn)
并非易事
肌肉記憶
首頁 web前端 css教程 標(biāo)簽:它的復(fù)雜?

標(biāo)簽:它的復(fù)雜?

Apr 21, 2025 am 10:23 AM

Tabs: It's Complicated?

初級前端開發(fā)者學(xué)習(xí)JavaScript時(shí),掌握切換類名是一個(gè)快速有效的技巧。

const button = document.querySelector(".my-button");
const element = document.querySelector(".content");

button.addEventListener("click", function() {
  element.classList.toggle("sparkles");
});

利用這個(gè)技巧,我們可以構(gòu)建選項(xiàng)卡。

簡單實(shí)現(xiàn)

如果我們已經(jīng)掌握了切換類名的技巧,需要構(gòu)建一個(gè)選項(xiàng)卡界面,只需添加一些處理點(diǎn)擊事件的代碼,就能實(shí)現(xiàn)簡單的選項(xiàng)卡,例如:

這些選項(xiàng)卡完全可用。 我利用錨鏈接在鏈接和選項(xiàng)卡區(qū)域之間創(chuàng)建跳轉(zhuǎn)鏈接,這在語義上是合理的。選項(xiàng)卡可以通過鍵盤訪問,具有焦點(diǎn)樣式,并且可以使用Return鍵激活。

但這夠了嗎?完美的選項(xiàng)卡?

并非易事

問題在于,我們沒有對鍵盤處理做任何特殊處理,而選項(xiàng)卡界面可能需要鍵盤處理。Heydon Pickering對此進(jìn)行了說明:

與同頁面鏈接不同,選項(xiàng)卡不會將用戶移動(dòng)到關(guān)聯(lián)的內(nèi)容區(qū)域/面板。它只是在視覺上顯示內(nèi)容。這對希望在不同區(qū)域之間切換而無需每次都返回頁面頂部的視力正常的用戶(包括使用屏幕閱讀器的視力正常的用戶)來說是有利的。

這帶來了一個(gè)不幸的副作用:如果用戶希望通過鍵盤移動(dòng)到某個(gè)區(qū)域并與其內(nèi)部內(nèi)容交互,他們必須依次遍歷當(dāng)前選項(xiàng)卡右側(cè)的所有選項(xiàng)卡,這些選項(xiàng)卡按焦點(diǎn)順序排列。

事實(shí)證明,選項(xiàng)卡界面還有許多其他的行為方面需要考慮。在Heydon的解釋中,Tab鍵實(shí)際上可以作為一種方法,從選項(xiàng)卡本身跳轉(zhuǎn)到與該選項(xiàng)卡相關(guān)的內(nèi)容,從而移動(dòng)焦點(diǎn)。Shift Tab 將焦點(diǎn)帶回。然后使用箭頭鍵更改選項(xiàng)卡。所有這些都需要更多的JavaScript,甚至一些HTML來允許焦點(diǎn)狀態(tài)……加上一些aria-*屬性,我沒有足夠的專業(yè)知識來解釋它們?yōu)槭裁粗匾?/p>

最終結(jié)果如下:

所以問題變成了:我們切換類名的技能是否對Web有害,因?yàn)樗鼈儧]有考慮到這些方面?使用任何基本的工具是否會損害Web的可訪問性?我不知道。這個(gè)問題對我來說太大了。不過,這是一個(gè)值得思考的問題。

肌肉記憶

如果我們首先學(xué)習(xí)像第一個(gè)演示那樣編寫選項(xiàng)卡,只要沒有人因?yàn)檫@樣做而批評我們,我們就會一遍遍地使用它。我大約在三分鐘內(nèi)編寫了該演示,因?yàn)槲乙呀?jīng)做過很多次了。創(chuàng)建這些選項(xiàng)卡肯定是我肌肉記憶的一部分。

很多人認(rèn)為JavaScript框架是Web上的禍害,因?yàn)樗鼈兯坪跽谝I(lǐng)一個(gè)可訪問性最差的時(shí)代。但是,如果構(gòu)建選項(xiàng)卡的肌肉記憶是使用預(yù)構(gòu)建的選項(xiàng)卡UI,它會帶來所有正確功能,并將樣式主要留給你呢?

這就是Reach UI選項(xiàng)卡(假設(shè)我們使用React……)。

我并不是要你將項(xiàng)目切換到React以便獲得一些免費(fèi)的選項(xiàng)卡,但是React已經(jīng)非常龐大。如果這樣的良好模式成為事實(shí)上的選擇,那么其效果可能是對可訪問性的凈增益。至少對我來說是可能的。它可能會阻止我第359次拙劣地手動(dòng)編寫選項(xiàng)卡界面。

以上是標(biāo)簽:它的復(fù)雜?的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

如何僅在某些頁面上包括CSS? 如何僅在某些頁面上包括CSS? Jun 11, 2025 am 12:01 AM

選擇性包含CSS在特定頁面上的方法有三種:1.內(nèi)聯(lián)CSS,適用于不常訪問或需要獨(dú)特樣式的頁面;2.使用JavaScript條件加載外部CSS文件,適合需要靈活性的情況;3.服務(wù)器端包含,適用于使用服務(wù)器端語言的場景。這種方法可以優(yōu)化網(wǎng)站性能和可維護(hù)性,但需平衡模塊化與性能。

什么是'渲染障礙CSS”? 什么是'渲染障礙CSS”? Jun 24, 2025 am 12:42 AM

CSS會阻塞頁面渲染是因?yàn)闉g覽器默認(rèn)將內(nèi)聯(lián)和外部CSS視為關(guān)鍵資源,尤其是使用引入的樣式表、頭部大量內(nèi)聯(lián)CSS以及未優(yōu)化的媒體查詢樣式。1.提取關(guān)鍵CSS并內(nèi)嵌至HTML;2.延遲加載非關(guān)鍵CSS通過JavaScript;3.使用media屬性優(yōu)化加載如打印樣式;4.壓縮合并CSS減少請求。建議使用工具提取關(guān)鍵CSS,結(jié)合rel="preload"異步加載,合理使用media延遲加載,避免過度拆分與復(fù)雜腳本控制。

如何在無花果中使用Lotties 如何在無花果中使用Lotties Jun 14, 2025 am 10:17 AM

在接下來的教程中,我將向您展示如何在無花果中創(chuàng)建Lottie動(dòng)畫。我們將使用兩種彩色設(shè)計(jì)來超越如何在無花果上進(jìn)行動(dòng)畫,然后向您展示如何從Figma到Lottie動(dòng)畫。您只需要免費(fèi)無花果

打破邊界:用(s)CSS構(gòu)建湯姆拼圖 打破邊界:用(s)CSS構(gòu)建湯姆拼圖 Jun 13, 2025 am 11:33 AM

我們對其進(jìn)行了測試,事實(shí)證明,至少在低級邏輯和拼圖行為時(shí),Sass可以替換JavaScript。除了地圖,混音,功能和大量數(shù)學(xué)外,我們都設(shè)法使我們的Tangram難題栩栩如生,沒有J

外部與內(nèi)部CSS:最好的方法是什么? 外部與內(nèi)部CSS:最好的方法是什么? Jun 20, 2025 am 12:45 AM

thebestapphachforcssdepprodsontheproject'sspefificneeds.forlargerprojects,externalcsSissBetterDuoSmaintoMaintainability andReusability; forsMallerProjectsorsingle-pageApplications,InternaltCsmightBemoresobleable.InternalCsmightBemorese.it.it'sclucialtobalancepopryseceneceenceprodrenceprodrenceNeed

我的CSS必須在較低的情況下嗎? 我的CSS必須在較低的情況下嗎? Jun 19, 2025 am 12:29 AM

否,CSSDOESNOTHAVETOBEINLOWERCASE.CHOMENDENS,使用flowercaseisrecommondendendending:1)一致性和可讀性,2)避免使用促進(jìn)性技術(shù),3)潛在的Performent FormanceBenefits,以及4)RightCollaboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraborationWithInteams。

CSS計(jì)數(shù)器:一個(gè)逐步教程,示例 CSS計(jì)數(shù)器:一個(gè)逐步教程,示例 Jun 12, 2025 am 10:31 AM

CSSCounters是一種用于創(chuàng)建自動(dòng)編號的工具。1.基本用法:通過counter-reset和counter-increment定義和操作計(jì)數(shù)器,如在h2前顯示"SectionX."。2.高級用法:使用嵌套計(jì)數(shù)器創(chuàng)建復(fù)雜編號,如章節(jié)和小節(jié)編號。3.注意事項(xiàng):確保正確重置計(jì)數(shù)器,優(yōu)化性能,簡化計(jì)數(shù)器邏輯。4.最佳實(shí)踐:命名清晰,在CSS中定義計(jì)數(shù)器,合理使用counter-increment和counter-reset。

CSS案例靈敏度:了解重要的 CSS案例靈敏度:了解重要的 Jun 20, 2025 am 12:09 AM

cssismostlycaseminemintiment,buturlsandfontfamilynamesarecase敏感。1)屬性和valueslikeColor:紅色; prenotcase-sensive.2)urlsmustmustmatchtheserver'server'scase,例如

See all articles