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

目錄
但是首先,這是禁用CSS的方法
透過無樣式的玻璃...
元素。假設(shè)它們是鏈接或按鈕,請單擊“將DuckDuckgo添加到[瀏覽器]的每個實例”無濟于事。每個部分的插圖都會導(dǎo)致一些不必要的水平滾動,這是我們在其他網(wǎng)站中看到的常見問題。
使CSS不再獲得更好的體驗的方法
結(jié)論
首頁 web前端 css教程 那個時候我嘗試在沒有CSS的情況下瀏覽網(wǎng)絡(luò)

那個時候我嘗試在沒有CSS的情況下瀏覽網(wǎng)絡(luò)

Apr 21, 2025 am 10:38 AM

那個時候我嘗試在沒有CSS的情況下瀏覽網(wǎng)絡(luò)

CSS是賦予每個網(wǎng)站設(shè)計的原因。沒有它,網(wǎng)站肯定不是很有趣和友好!我已經(jīng)閱讀了一個星期沒有JavaScript的人,以及經(jīng)驗如何導(dǎo)致更快的網(wǎng)站,盡管它們的某些方面無法按預(yù)期運行。

但是CSS。在瀏覽網(wǎng)絡(luò)時關(guān)閉CSS并不能完全使網(wǎng)絡(luò)少可用……對嗎?或者,像JavaScript一樣,某些功能是否可以正常工作?出于好奇,我決定給它一個旋轉(zhuǎn),并在瀏覽幾個站點時將CSS的肉從HTML骨架上撕下。

為什么,您可能會問?是否有任何非宣傳原因關(guān)閉CSS? Heydon Pickering曾經(jīng)在推特上發(fā)布禁用CSS是檢查某些可訪問性標準的好方法:

  1. 標題,列表和表單控件等常見元素是語義的,而且看起來仍然不錯。
  2. 仍以默認樣式建立視覺層次結(jié)構(gòu)。
  3. 內(nèi)容仍然可以按邏輯順序讀取。
  4. 圖像仍然以那個時候我嘗試在沒有CSS的情況下瀏覽網(wǎng)絡(luò)標簽而存在,而不是像CSS背景一樣迷失。

2018年的WebAIM調(diào)查報告說,有12.5%的用戶依靠任何類型的輔助技術(shù)瀏覽Web使用自定義樣式表,其中包括取消網(wǎng)站上的每份CSS聲明。而且,如果我們談?wù)摰氖腔ヂ?lián)網(wǎng)慢的連接,那么拋棄CSS可能是更快消費內(nèi)容的一種方法。由于我們的直接控制之外的原因,例如服務(wù)器無法加載資產(chǎn)時,CSS也有可能被禁用。

作為一個實驗,我使用了五個網(wǎng)站和一個沒有CSS的網(wǎng)絡(luò)應(yīng)用程序,這篇文章將涵蓋我的經(jīng)驗。對我個人而言,這是一次令人大開眼界的冒險,但我也希望以我的方式專業(yè)地將我作為開發(fā)人員告知我。

但是首先,這是禁用CSS的方法

您絕對歡迎您以這篇文章的形式通過我來現(xiàn)場直播。但是,對于那些想完成任務(wù)并想體驗無風(fēng)格網(wǎng)絡(luò)的人來說,這是如何在各種瀏覽器中禁用CSS的方法:

  • Chrome:實際上,Chrome中沒有設(shè)置可以禁用CSS,因此我們必須求助于延伸,例如Disable-HTML。
  • Firefox:查看>頁面樣式>沒有樣式
  • Safari: Safari >首選項... >在菜單欄中顯示開發(fā)菜單。然后轉(zhuǎn)到開發(fā)下拉列表,然后選擇“禁用樣式”選項。
  • 歌劇:像Chrome一樣,我們需要擴展名,Web開發(fā)人員適合該法案。
  • Internet Explorer 11:視圖>樣式>沒有樣式

我找不到一種記錄的方法來禁用EDGE中的CSS,但是我們可以通過DevTools Console中的CSS對象模型API從其編程中刪除CSS以及任何其他瀏覽器:

 var d =文檔;

對于(s = d.StylesHeets)
    s [s] .disabled = true;

for(i = d.d.queryselectorall(“ [style]”)))
    i [i] .spyle =“”;

第一個循環(huán)禁用所有外部和內(nèi)部樣式(在和中),第二個循環(huán)消除了任何內(nèi)聯(lián)樣式。但是,這里需要注意的是,元素仍然可以動態(tài)地給予新的內(nèi)聯(lián)樣式。為了立即刪除它們,最好的解決方法是添加計時器。這樣的事情:

 (f = function(){
    //刪除CSS
    ...

    Settimeout(F,20);
})();

另外,還有只有文本的瀏覽器,例如古老的Lynx,但期望沒有視頻,圖像(包括SVG)和JavaScript生活。

透過無樣式的玻璃...

對于每個網(wǎng)站,我都沒有CSS(亞馬遜,Duckduckgo,github,stack溢出,Wikipedia和對比檢查器)稱為Hex Naw-稱為Hex Naw-我將分享我的第一印象,并提出一些建議,這可能有助于體驗。

準備好,因為事情可能會有點……令人震驚。 ?

網(wǎng)站1:Amazon.com

這里沒有真正的介紹。亞馬遜不僅是我們許多人的家用主食,而且由于其無處不在的亞馬遜網(wǎng)絡(luò)服務(wù)平臺,它還為網(wǎng)絡(luò)的很大一部分提供了動力。

這里有很多事情正在發(fā)生,所以我將探索在找到產(chǎn)品并假裝購買產(chǎn)品時所吸引的無風(fēng)格的東西。

在主頁上,我立即看到該網(wǎng)站使用的精靈表。它確實代替了徽標的位置,因此很難知道這些圖像是否旨在存在。每個精靈都包含多個版本的徽標,即使我可以看到其中的“亞馬遜”單詞標記,但令人驚訝的是,它不是全球家庭鏈接。如果您很好奇家庭鏈接的真正位置,就是這種跨度結(jié)構(gòu),徽標被用作背景圖像……在CSS中:

 <a href="%E2%80%9C/ref" nav_logo aria-label="“" amazon tabindex="“">
  <span> </span>
  <span> </span>
  <span> </span>
</a>

出現(xiàn)的下一個問題是“跳到主內(nèi)容”鏈接看起來不像典型的跳過鏈接,但它的工作方式像一個鏈接。事實證明,它是沒有HREF的元素,而JavaScript(是的,我確實離開了該啟用)來模仿錨點功能。

當我開始搜索時,我必須在“入門”鏈接下方進一步查看建議。在“您的列表”和“您的帳戶”項目下,很難區(qū)分鏈接。它們似乎都串在一起,好像它們是一個超長的大型鏈接一樣。我相信,在這種情況下,使用語義無序列表來保持層次結(jié)構(gòu)會更有效。

但是,在所有這些搜索建議下,帳戶和導(dǎo)航鏈接易于閱讀,因為它們被某些空間分開。

有趣的是,頁面下方的輪播仍然有效。如果我單擊“上一頁”或“下一頁”選項,則更改圖像的順序。但是,在這些選項之間跳躍需要我滾動。

進一步跳下來,有一個廣告元素。它包含一個“廣告反饋”字符串,看起來像我們在“跳過到主內(nèi)容”鏈接的“跳過到主內(nèi)容”鏈接中所看到的那樣。好吧,我無論如何都單擊了它,它揭示了一種表格,以分享有關(guān)廣告相關(guān)性的反饋。

您可能已經(jīng)錯過了它,但是兩組標簽上方有一個空白按鈕,并且收音機按鈕不合適。結(jié)構(gòu)令人困惑,因為我不知道哪個標簽屬于哪個無線電按鈕。我的意思是,我想我可以假設(shè)第一個標簽與第一個無線電輸入有關(guān),但這正是這樣:一個猜測。

令人困惑的是,在表單底部的“關(guān)閉窗口”,“取消”和“發(fā)送反饋”選項之間存在提交按鈕。如果我按其中任何一個,我會回到廣告中?,F(xiàn)在,假設(shè)我是盲目的,即使存在CSS,也使用屏幕讀取器來導(dǎo)航相同的部分。我會被告知兩個按鈕的“提交,按鈕”,因此在不猜測的情況下將零知道該怎么做。這是關(guān)于語義在處理標記時的重要性的另一個好提醒(在這種情況下按鈕標簽),并注意在JavaScript上放置多少依賴以覆蓋Web默認值。

進行搜索 - 假設(shè)“ Mac Minis” - 我仍然可以訪問和理解產(chǎn)品評分,因為它們被顯示為文本(代替了它們本來是其他工具提示)代替恒星。這是一個很好的例子,當圖像用作視覺內(nèi)容時,使用堅實的文本回退,但在CSS中被用作背景圖像。

選擇Mac Mini使用Intel Core i3選擇了我選擇的產(chǎn)品上方的其他Mac產(chǎn)品,并且必須超越它們以選擇我要購買的數(shù)量。

向下滾動,并在帶有相同內(nèi)容的標簽旁邊顯示一個“添加到購物車”按鈕。這是多余的,可能是不必要的,因為

 添加到購物車

接下來,我們將提供亞馬遜優(yōu)勢會員資格的報價。這一切都很好,但是請注意,它是在我購買的產(chǎn)品和“立即購買”按鈕之間插入的。我很難知道單擊“立即購買”是否會添加Mac mini來結(jié)帳,還是我是購買Amazon Prime。

我還想玩一些,所以一旦我弄清楚了如何添加它,我就嘗試從購物車中刪除Mac mini。我花了大約十秒鐘的時間來找到購物車,所以我可以編輯它。事實證明,它直接在“繼續(xù)結(jié)帳(1個項目)”鏈接旁邊,但并在其旁邊向上撞,因此所有這些鏈接看起來都像一個鏈接。

總體而言,找到產(chǎn)品并不難。另一方面,隨著我的進行,結(jié)帳的道路更加頭疼。有一些與語義和可訪問性相關(guān)的糟糕的實踐引起了混亂,重要的按鈕和鏈接變得更加困難。

?該網(wǎng)站做得很好 ?網(wǎng)站可以改善什么
即使沒有樣式,旋轉(zhuǎn)木馬也是實用的。 徽標依靠背景圖像,掩蓋了回家的路徑。
內(nèi)容層次結(jié)構(gòu)通常仍然有助于了解我們在頁面上的位置。 許多鏈接和錨點都依賴JavaScript,并且似乎并不互動。
元素的順序大致保持穩(wěn)定。 鏈接通常相互碰撞或?qū)⑵浞胖迷谄湎嚓P(guān)的地方。
大量使用后備作為依賴背景圖像的產(chǎn)品評級。 按鈕標簽是誤導(dǎo)或重復(fù)的。
形式要素?zé)o法正確對齊。
有一個艱難的旅程要結(jié)帳。
網(wǎng)站2:DuckDuckgo

您以前使用過DuckDuckgo嗎?我認為許多閱讀CSS漫步的人都有,但是對于那些可能是第一次聽到的人來說,這是Google搜索的替代方法,重點是用戶隱私。

因此,開始時有點誤導(dǎo),因為DuckDuckgo首頁非常簡單。那里沒有什么問題,對嗎?好吧,這比這比這更重要的是,因為我們要處理搜索搜索查詢后處理搜索結(jié)果,內(nèi)容層次結(jié)構(gòu)和相關(guān)性。

馬上,我受到歡迎的內(nèi)容比我對如此簡單的著陸器所期望的要多得多。在掃描網(wǎng)站時,目前尚不清楚這是哪個網(wǎng)站。第一個提及產(chǎn)品名稱是第一個無序列表中的第四項,這是“傳播DuckDuckgo”的呼吁?;諛送耆鄙?,這顯然意味著它被用作背景……在CSS中。

說到那個無序的列表,我認為我看到的屬于標題中,并且沒有跳過導(dǎo)航。我們有一個三重箭頭圖標(這是一個移動菜單或菜單來隱藏最不重要的項目,或其他內(nèi)容?),其次是與隱私相關(guān)的內(nèi)容,社交媒體鏈接,看起來像一個鏈接,但實際上是“關(guān)于DuckDuckgo”和“ Duckduckgo”和“了解更多信息”的兩個鏈接。

最后,朝下是該網(wǎng)站的主要用例實際上出現(xiàn)的地方:搜索欄。我認為“ S”標簽的意思是“搜索”,而“ X”標簽是清除搜索字段的簡寫。

好吧,進行搜索。我仍然可以看到自動探測并使用上下箭頭鍵突出顯示每個箭頭是非??岬?。但是,清除該領(lǐng)域,建議直到我刷新頁面后才消失。

設(shè)置菜單中的所有內(nèi)容均為列表中的項目,包括“設(shè)置”,“隱私必需品”,“為什么隱私”,“我們是誰”和“保持聯(lián)系”。如果啟用CSS,這些可能是移動男士的一部分,也許是由頂部的三重箭頭鏈接觸發(fā)的。在該菜單中,我看到“設(shè)置”和“更多主題”之間的四個空白項目符號。

作為新用戶來到這里,我不知道那些空列表項目是什么,但是我在上面的屏幕截圖中突出顯示的子彈實際上是主題按鈕。為了澄清意圖,一些后備文本將有所幫助,這些文本應(yīng)該是無線電或普通按鈕而不是列表項目(考慮其功能)。

每個內(nèi)容都沒有“ X”(包括“設(shè)置”)的每個內(nèi)容。但是,單擊徒步旅行者映像圖像上方的“ X”確實會導(dǎo)致大量內(nèi)容清除屏幕 - 這要歸功于JavaScript仍在啟用。我真正發(fā)現(xiàn)尷尬的是“切換到Duckduckgo……”下的有序列表中的冗余計數(shù)……我們看到了:

 1。1我們不存儲您的個人信息
2。2我們不要跟隨您的廣告
3。3我們不跟蹤你。曾經(jīng)。

看起來一些混合用例的語義標記案例以及其他一些顯示列表項目編號的方法。

遠足者圖像下方有巨大數(shù)量的空白,直到第一個

元素。假設(shè)它們是鏈接或按鈕,請單擊“將DuckDuckgo添加到[瀏覽器]的每個實例”無濟于事。每個部分的插圖都會導(dǎo)致一些不必要的水平滾動,這是我們在其他網(wǎng)站中看到的常見問題。

在這些部分之后,有一個空白框,我不知道它是什么。

我破解了開放的DevTools,事實證明是

在此之后,我看到了兩個重復(fù)的實例“設(shè)置為默認搜索引擎”,圍繞著“設(shè)置為主頁”部分。

當我單擊“添加DuckDuckgo…”動作時,這些一定是彈出的說明,但它顯示了隱藏的影響并顯示內(nèi)容時可以使用直接標記。相應(yīng)的鏈接或按鈕不用重復(fù)內(nèi)容,應(yīng)指向一個實例。那將減少這里的冗余。

好的,是時候最終進入搜索了。我在搜索結(jié)果中看到的第一件事是一個空盒子,其中包含指令以忽略盒子。那時。

繼續(xù)前進,您看到Duckduckgo鏈接了嗎?那一定是徽標,我想知道為什么這不在主頁上。似乎是低懸垂的水果以改進。

除了“ S”和“ X”按鈕外,搜索欄仍然正常運行,這些按鈕已將其在主頁上的位置交換。

在搜索結(jié)果上。我可以很容易地將一個結(jié)果與另一個結(jié)果區(qū)分開。我發(fā)現(xiàn)不必要的,但有趣的是,“您的瀏覽器表示您是否訪問了此鏈接”消息,該消息位于每個頁面的末尾。從屏幕閱讀的角度來看,這將非常煩人。想象一下,在每個頁面標題的末尾都重復(fù)聽到。該消息傳遞與包含包含該消息傳遞的工具提示的選拔標記一起顯示。但是,由于禁用CSS,沒有任何檢查標記,也沒有工具提示。結(jié)果,我所得到的只是一個長時間的標題。

通常以不同類型的結(jié)果(例如圖像)過濾的標簽顯示的導(dǎo)航欄似乎在這一點上無能為力,因為很難說它們是過濾器而無需樣式的過濾器。但是,如果我單擊映像過濾器,則圖像結(jié)果實際上將下部下方加載到頁面上,直接堆放在Web結(jié)果的頂部,因此頁面變長了。哦,您可能會認為,滾動一直返回(這是很長的路),然后單擊另一個過濾器,例如視頻,可以替換圖像,但這只是在下面插入視頻縮略圖圖像,這使已經(jīng)成為超級巨型長頁的圖像成為超級巨型長頁。想象所有這些資產(chǎn)的頁面重量!

好吧,你不必。根據(jù)DevTools的說法,僅圖像占831個請求,總重量為23.7 MB。 hefty!

最后幾個物品值得注意。單擊“發(fā)送反饋”鏈接顯然沒有任何作用。也許觸發(fā)了CSS的模態(tài)?而且,盡管“所有區(qū)域”鏈接不像一個鏈接,但我很容易忽略它,但我很好奇地單擊它,并被帶到了一個國家列表的錨點。最后兩個鏈接剛剛使其相應(yīng)的內(nèi)容出現(xiàn)在列表國家選項下。

這里有很多事情發(fā)生,顯然有改進的機會。例如,有些呼叫作為正常文本顯示為鏈接或按鈕。另外,我們認為CSS禁用的網(wǎng)站的性能會變得更好,但是搜索結(jié)果中的所有加載資產(chǎn)都令人難以置信。也就是說,搜索體驗一點也不痛苦……也就是說,除非您在執(zhí)行圖像或視頻中挖掘圖像或視頻。

?該網(wǎng)站做得很好 ?網(wǎng)站可以改善什么
搜索是一致的,并且在有或沒有CSS的情況下使用。 一個“跳過”鏈接將有助于瀏覽鍵盤。
內(nèi)容層次結(jié)構(gòu)使內(nèi)容易于閱讀和搜索結(jié)果是干凈的體驗。 “設(shè)置”菜單中的非鏈接項目應(yīng)該是單獨的無序列表的標題,因此對于如何將選項分組有一個明確的層次結(jié)構(gòu)。
在搜索結(jié)果頁面的頂部充分利用主頁鏈接。 某些內(nèi)容要么重復(fù)或重復(fù),因為該站點依賴于有條件地顯示和隱藏內(nèi)容。
確保所有采取行動渲染的呼叫都作為鏈接而不是純文本。
使用后備解決方案過濾搜索結(jié)果的類型,以防止項目堆疊并幫助控制大量頁面重量。
網(wǎng)站3:Github

嘿,這是我們許多人非常熟悉的網(wǎng)站!好吧,我們許多人都習(xí)慣了一直登錄它,但是我將在登錄時沖浪。

已經(jīng)有一個跳過鏈接(是的)。我希望還有一個移動導(dǎo)航圖標無能為力,并且在我嘗試時被證明是正確的。

在某些導(dǎo)航項目之間,存在不必要的巨大差距。如果單擊這些,它們?nèi)匀怀洚斚吕藛?。它們是?summary>元素……但是在語義上有些錯誤。菜單項實際上是未排序的列表項目,并且本機瀏覽器功能仍然可以通過使用語義擴展內(nèi)容來進行,這真是太好了。但是,那個SVG偶像使我感到困惑。

在將任何內(nèi)容鍵入現(xiàn)場之前,我會看到三個“搜索所有g(shù)ithub”和“跳到”鏈接的實例。我不知道要單擊哪個,但是如果我進行搜索,則關(guān)鍵字顯示在第三組中。

主頁上的其他所有內(nèi)容似乎都很好,除了許多過大的圖像水平溢出窗口。

讓我們回到搜索欄,導(dǎo)航到我們可以找到的任何回購。就在搜索按鈕下,我們有兩個幾乎相同的輔助導(dǎo)航欄,它們返回存儲庫計數(shù),代碼,提交和其他meta。沒有查看來源,我不知道擁有兩個目的是什么。

存儲庫頁面仍然具有易于遵循的結(jié)構(gòu)和邏輯層次結(jié)構(gòu)。在登錄并在到達之前清除我的緩存時,“ JOIN GITHUB TODAY”塊的“解散”按鈕仍然可以按照我的期望。就像我們早些時候在亞馬遜上看到的一樣,標簽鏈接很難分開,因為它們是一行。

接下來的兩個按鈕 - “ JavaScript”和“ New Pull請求” - 當我單擊它們時,似乎沒有做任何事情。我想像拉動請求按鈕應(yīng)在視為客人時被禁用,除非它打算讓用戶先登錄屏幕……但即使那感覺也不正確。事實證明,當CSS處于活動狀態(tài)時,該按鈕確實被禁用。然后,頁面的其余部分非常容易理解。

如果您在這里主要是為了管理,貢獻或檢查存儲庫,那么由于層次結(jié)構(gòu)表現(xiàn)良好,您將不會面臨很多摩擦。無論您是查看拉的請求,問題還是單個文件,您都會在其他地方體驗幾乎相同的情況。大多數(shù)障礙生活在網(wǎng)站上不太突出的頁面中。

?該網(wǎng)站做得很好 ?網(wǎng)站可以改善什么
許多頁面的層次結(jié)構(gòu)和結(jié)構(gòu)確實很容易遵循,并使邏輯意義化。 使用那個時候我嘗試在沒有CSS的情況下瀏覽網(wǎng)絡(luò)元素和SVG上的高度和寬度屬性來防止它們炸毀。
頁面上嵌入的大多數(shù)SVG圖標都是適當尺寸的。 注意空列表項目。
很好地利用了標題中的跳過鏈接。 確保按鈕標簽使用完整單詞。
確保鏈接之間有空白或線路斷裂,以防止跑步。
網(wǎng)站4:十六進制

下一個網(wǎng)站是我經(jīng)常使用的在線工具檢查顏色對比度以供訪問。對于一個顏色如此之大的網(wǎng)站,CSS可能會發(fā)生很多事情,因此它應(yīng)該變得有趣。

在導(dǎo)航上方有大量空間,沒有跳過鏈接。用于測試的每種顏色旁邊的移動布局和“ X”按鈕的漢堡包和關(guān)閉按鈕超大。

哦,然后查看“測試顏色”按鈕和下一部分內(nèi)容之間的巨大差距。

該網(wǎng)站的許多不錯的功能之一是一個復(fù)選框,它使您只能看到通過測試的顏色,而不是查看所有經(jīng)過測試的顏色。不幸的是,該按鈕對禁用CSS無能為力。但是,我仍然可以看到直接在結(jié)果表中的對比度,大文本和小文本的定義有效,并獲得定義。

隱藏和顯示術(shù)語可能是該按鈕對CSS所做的。令人沮喪的是,我不知道桌子標題后那些單個字母(例如S和R)的目的。看到表之后的所有失敗顏色的消息也是諷刺和令人困惑的,因為,此列表中有傳遞顏色。可以做的是默認將其隱藏,但是如果單個測試中的所有顏色失敗,則有條件地將其注入。

拔出DevTools,事實證明,頂部的一些空白是Hex Naw徽標作為SVG文件。與該頁面使用的其他SVG符號相關(guān)聯(lián)的空間。通過為徽標使用默認的黑色顏色,這將有助于減少一些空間。我對DevTools進行了快速的更改,這有很大的變化。

空間的第二個間隙是由SVG加載器引起的,該SVG裝載機在計算顏色對比度時出現(xiàn)??梢酝ㄟ^指定更小但比例的,寬度和高度與移動菜單和“ X”圖標的高度來幫助這一點。

在每個SVG中添加初始寬度和高度肯定會減少滾動的需求。這也是我們也可以采取的措施來解決Github導(dǎo)航中看到的空白。

最終,沒有CSS,HEX NAW仍然非常有用。我仍然可以測試顏色,通過和失敗的顏色結(jié)果,并在頁面周圍導(dǎo)航。太糟糕了,我無法使用實際的顏色,不得不圍繞那些超大的SVG圖標工作。

?該網(wǎng)站做得很好 ?網(wǎng)站可以改善什么
該站點在整個網(wǎng)站中保持良好的內(nèi)容層次結(jié)構(gòu)。 SVG應(yīng)使用后備填充顏色并使用高度和寬度屬性。
所有元素都是用語義寫的。 可以動態(tài)添加和刪除所有失敗顏色的反饋,以防止尷尬的消息傳遞。
測試本身正常運行,除了能夠顯示或隱藏信息。 考慮一種顯示顏色的替代方法,例如所測試的值,例如具有背景顏色屬性的表單元格。
網(wǎng)站5:堆棧溢出

像GitHub一樣,Stack Overflow是我們許多人(如果不是大多數(shù)人)保留在我們的后袋中的資源之一,因為它有助于找到某人是否已經(jīng)問了一個開發(fā)問題和對它們的答案。

在頁面上要提出問題,我在主

在將文本輸入標題字段時,仍然可以找到類似問題的列表。這里的每件事都是預(yù)期的,這很好。雖然,奇怪的是,每個建議的問題的投票都算過兩次,一旦以鏈接而高于標題,并且在標題旁邊又不受鏈接。

降落在堆棧溢出問題頁面時,我們所有人都尋找的關(guān)鍵元素之一是,大綠色檢查標記,可以在所有提交的答案中指示正確的答案。但是,隨著CSS關(guān)閉,很難說出哪個答案被接受,因為列表中的每個答案都有一個黑色檢查標記。即使接受的答案始終處于頂部,仍然沒有其他選擇或后備指示,而無需與頁面互動。此外,沒有跡象表明您是否已經(jīng)投票或投票給了問題或任何答案。

為了總結(jié)我在Stack Overflow上的經(jīng)驗,我能夠完成我通常來到網(wǎng)站的內(nèi)容:找到編程問題的答案。也就是說,確實有一些改進的機會,這個網(wǎng)站是設(shè)計通常依賴顏色來指示頁面上的層次結(jié)構(gòu)或價值的一個典型例子,在本實驗的問題頁面上,這在頁面上非常缺少。

?該網(wǎng)站做得很好 ?網(wǎng)站可以改善什么
幾乎每個元素都是用語義編寫的。 在詢問或回答問題時使用明確的控件來識別編輯工具。
SVG圖標使用寬度和高度屬性。 考慮一個視覺圖標,以將所接受的答案與問題的其他答案區(qū)分開。
答案列表清晰易于掃描。 考慮一種不同的方法來表示投票或單獨顏色以外的投票。
網(wǎng)站6:維基百科

Wikipedia,網(wǎng)絡(luò)的主要參考點!這是一個在線主食,其吸引人的品質(zhì)之一是缺乏設(shè)計。這應(yīng)該可以進行有趣的測試。

一些鏈接向下,我們有一個用于實際導(dǎo)航和搜索的Skip Navigation選項。包含全球圖像的主頁標頭保持其兩個列布局,您可能已經(jīng)猜到了原因:這是表布局。盡管這可能不是一個可用性問題,但我們知道依靠表創(chuàng)建布局不是語義。當我們沒有浮子,彈性箱,網(wǎng)格或其他任何處理內(nèi)容放置的方式時,那是過去的遺物。也就是說,頁面上沒有明顯的可用性問題或令人困惑的元素。

讓我們繼續(xù)了解我們許多人在Wikipedia中花費最多的時間:文章條目。這通常是Wikipedia的切入點,尤其是對于我們這些開始的人,從搜索引擎中鍵入某些內(nèi)容,然后單擊Wikipedia搜索結(jié)果。

最重要的是,此頁面仍然非常有用,并且在禁用CSS的情況下是非??捎玫?。布局歸結(jié)為單列,但是內(nèi)容仍然以邏輯順序流動,甚至保持造型位,再次感謝對表和內(nèi)線表屬性的依賴。

我遇到的一個問題是導(dǎo)航。標題中有一個“跳到導(dǎo)航”鏈接,當我單擊它時,確實會使我轉(zhuǎn)到導(dǎo)航。如果您想知道,導(dǎo)航包含在頁腳中,這是需要跳到它的原因。

在幾個導(dǎo)航標題上方似乎有隨機的復(fù)選框(專門針對“變體”和“更多”),它們似乎沒有目的,盡管上面的復(fù)選框“更多”在啟用CSS時以某個視口寬度顯示。

導(dǎo)航中實際上有一件奇怪的事情,它是“在其他項目”和“語言”標題之間的無標簽按鈕。

單擊該按鈕,我仍然可以訪問語言設(shè)置,并且它大多是按預(yù)期工作的。例如,布局維護一個超級功能的選項卡式布局。

但是,在“顯示”選項卡中,“語言”和“字體”按鈕無能為力。它們可能也是標簽,但至少我可以看到他們提供的東西。除了這些按鈕是兩個空的選擇菜單,這些菜單絕對什么都不做(第一個按鈕在選中復(fù)選框時確實填充了漫畫,OpenDyslexic和System Font選項)。查看“輸入”選項卡,寫作語言按鈕仍然恰好功能為選項卡。除了英語,西班牙語和中文之外,我仍然可以選擇其他選項。

沒有CSS,這些文章根本不難閱讀,這是因為幾乎每個元素在語義上都是正確的,并且遵循一致的文檔層次結(jié)構(gòu)。我想知道的一件事是通常在目錄中通常在哪里進行的“顯示/隱藏”按鈕。事實證明這是一個孤獨的復(fù)選框,標簽是假的 - 它使用CSS中的偽元素上的內(nèi)容屬性顯示標簽。

文章中的另一個問題是,您必須在預(yù)覽圖像時花費時間來尋找圖像。通常,單擊文章側(cè)邊欄中的圖像將觸發(fā)包含圖像輪播的全屏模式。沒有CSS,旋轉(zhuǎn)木馬就消失了,取而代之的是上面有一排未標記按鈕的圖像。這是一個令人討厭的人,但是如果旋轉(zhuǎn)木馬并不完全在頁面上,與點擊圖像在頁面頂部的位置相反,沒有能力跳到它的地方,那將是完全可以的。

如果我沒有提到文章中找不到Wikipedia徽標,我會很粗心!它甚至不是白色的白色SVG。該鏈接實際上一無所有:

 <a href="%E2%80%9C/wiki/main_page%E2%80%9D" title="“訪問主頁”"> </a>

值得慶幸的是,“導(dǎo)航”下的“主頁”鏈接是回家的另一種方式,而無需按下瀏覽器后退按鈕。但是,當在主頁上做得如此出色時,在頁面上沒有品牌的品牌仍然很奇怪。

Wikipedia的HTML問題主要存在于我期望的頻率較少而不是文章的功能中。從長遠來看,他們從未阻礙我的閱讀經(jīng)歷。

?該網(wǎng)站做得很好 ?網(wǎng)站可以改善什么
該站點保持干凈的結(jié)構(gòu)和層次結(jié)構(gòu)。 沒有CSS背景圖像,可以將徽標位置移至頁面頂部。
跳過鏈接有效地用于搜索和導(dǎo)航。 按鈕應(yīng)包括標簽。
文章內(nèi)容是語義且易于閱讀的。 頁面上的圖像輪播可以在扳機發(fā)生的地方加載并使用適當?shù)陌粹o標簽進行控件。

使CSS不再獲得更好的體驗的方法

CSS是現(xiàn)代網(wǎng)絡(luò)的關(guān)鍵組成部分。正如我們所看到的那樣,沒有它,許多站點幾乎是無法使用的 - 我們正在計算該組合中一些最可識別的和使用的網(wǎng)站。我們看到的是,充其量仍然可以實現(xiàn)站點的主要目的,但是一路上有障礙。諸如:

  • 缺失或語義上不正確的跳過鏈接
  • 一起運行的鏈接
  • 超大圖像需要額外的滾動
  • 空元素,例如列表項目和按鈕標簽

讓我們看看是否可以將它們編譯為可能會禁用甚至不可用的情況的情況下考慮的最佳實踐列表。

在文檔頂部包括一個跳過導(dǎo)航鏈接

Having a hidden link to skip the navigation is a must. Notice how most of the sites we looked at contained navigation links directly in the header. With CSS turned off, those navigations became long lists of links that would be so hard to tab or scroll through for any user. Having a link to skip that would make that experience much better.

The most basic HTML example I've seen is an anchor link that targets an ID where the main content begins.

 <a href="#main">Skip to main content</a>
<!-- etc. -->
<main></main>

And, of course, we can throw a class name on that link to hide it visually so it is not displayed in the UI but still available for both keyboard users and when CSS happens to be off.

 .skip-navigation {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  溢出:隱藏;
  padding: 0;
  position: absolute;
  height: 1px;
  width: 1px;
}

/* Bonus points for adding :focus styles */
Leave whitespaces where they make sense

Another pain point we saw in a few cases were text links running together. Whether it was in the navigation, tags, or other linked up meta, we often saw links that were “glued together” in such a way that several individual links appeared to be one giant link. That's either the result of hand-coding the links like that or an automated build task that compresses HTML and removes whitespaces in the process. Either way, the HTML winds up like this:

 <a href="#">CSS</a><a href="#">JavaScript</a><a href="#">Python</a><a href="#">Swift</a>

We can keep the freedom to use spaces or line breaks though, even with CSS disabled. One idea is to lean on flexbox for positioning list elements when CSS is enabled. When CSS is disabled, the list items should stack vertically and display as list items by default.

If the items are tags and should still be separated, then traditional spacing methods like margins and padding are still great and we can rely on natural line breaks in the HTML to help with the style-less formatting. For example, here are line breaks in the HTML used to separate items, flexbox to remove spaces, then styled up in CSS to re-separated the items:

Use width and height attributes liberally

The biggest nuisance in this experiment may have been images exploding on the screen to the point that they dominate the content, take up an inordinate amount of space, and result in a hefty amount of scrolling for all users.

The fix here is rather straightforward because we have HTML attributes waiting for us to define them. Both images and SVG have methods for explicitly defining their width and height.

 <img  src="/static/imghw/default1.png" data-src="/path/to-image.jpg" class="lazy"    style="max-width:90%"  style="max-width:90%" alt="那個時候我嘗試在沒有CSS的情況下瀏覽網(wǎng)絡(luò)" >

<svg width="40px" height="40px" viewbox="0 0 200 200">
  <polygon points="80,0 120,0 120,80 200,80 200,120 120,120 120,200 80,200 80,120 0,120 0,80 80,80"></polygon>
</svg>
Prepare SVGs for a white background

Many of the large gaps on the sites we looked at looked like empty space, but they were really white SVGs that blew up to full size and blended into the white background.

So, yes, using the proper width and height attributes is a good idea to prevent monstrous icons, but we can also do something about that white-on-white situation. Using properties like fill and fill-rule as attributes will work here.

 <!-- Icon will be red by default -->
<svg viewbox="-241 243 16 16" width="100px" fill="#ff0000">
  <path d="M-229.2,244c-1.7,0-3.1,1.4-3.8,2.8c-0.7-1.4-2.1-2.8-3.8-2.8c-2.3,0-4.2,1.9-4.2,4.2c0,4.7,4.8,6,8,10.6 c3.1-4.6,8-6.1,8-10.6C-225,245.9-226.9,244-229.2,244L-229.2,244z"></path>
</svg>
 /* ...and it's still red when CSS is enabled */
svg {
  fill: #ff0000;
} 

Label those buttons!

Lastly, if buttons are initially empty, they need to have visible fallback content. If they use a background image and a title for what the do, use a span containing the title text then add aria-hidden="true" so it doesn't sound like the screen reader is reading the button label twice (eg VoiceOver says, “Add button Add” instead).

 <button title="Add">
  <span aria-hidden="true">Add</span>
</button>

Then the CSS can be something like this:

 .btn-icon {
  background: url(path/to/icon.svg) 0 0 / 100% 100%;
  height: 40px;
  width: 40px;
}

.btn-label {
  顯示:塊;
  溢出:隱藏;
  height: 0;
}

If there are

  • elements acting as buttons, they can remain, but they should be static, and the contents should be placed in a button.

    Now, if the icon is an SVG, we can ensure the title tooltip can still be seen by using aria-labelledby and assigning the id to the title.

     <button>
      <svg width="40px" height="40px" viewbox="0 0 200 200" aria-labelledby="btn-title">
        <title>Add</title>
        <polygon points="80,0 120,0 120,80 200,80 200,120 120,120 120,200 80,200 80,120 0,120 0,80 80,80"></polygon>
      </svg>
    </button>
  • 結(jié)論

    It can be easy to either forget or be afraid to check how a site appears when CSS isn't available to make the UI look as good as intended. After a brief tour of the Non-CSS Web?, we saw just how important CSS is to the overall design and experience of sites, both small and large.

    And, like any tool we have in our set, leaning too heavily on CSS to handle the functionality and behavior of elements can lead to poor experiences when it's not around to do its magic. We've seen the same be true of sites that lean too heavily on JavaScript. This isn't to say that we should not use them and rely on them, but to remember that they are not bulletproof on their own and need proper fallbacks to ensure an optimal experience is still available with or without our tooling.

    Seen in that light, CSS is really a layer of progressive enhancement. The hierarchy, form controls, and other elements should also remain intact under their user agent styles. The look and feel, while important, is second when it comes to making sure elements are functional at their core.

    以上是那個時候我嘗試在沒有CSS的情況下瀏覽網(wǎng)絡(luò)的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

    本站聲明
    本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(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

    免費脫衣服圖片

    Undresser.AI Undress

    Undresser.AI Undress

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

    AI Clothes Remover

    AI Clothes Remover

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

    Clothoff.io

    Clothoff.io

    AI脫衣機

    Video Face Swap

    Video Face Swap

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

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費的代碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

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

    Dreamweaver CS6

    Dreamweaver CS6

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

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級代碼編輯軟件(SublimeText3)

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

    CSS會阻塞頁面渲染是因為瀏覽器默認將內(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ù)雜腳本控制。

    什么是AutoPrefixer,它如何工作? 什么是AutoPrefixer,它如何工作? Jul 02, 2025 am 01:15 AM

    Autoprefixer是一個根據(jù)目標瀏覽器范圍自動為CSS屬性添加廠商前綴的工具。1.它解決了手動維護前綴易出錯的問題;2.通過PostCSS插件形式工作,解析CSS、分析需加前綴的屬性、依配置生成代碼;3.使用步驟包括安裝插件、設(shè)置browserslist、在構(gòu)建流程中啟用;4.注意事項有不手動加前綴、保持配置更新、非所有屬性都加前綴、建議配合預(yù)處理器使用。

    CSS教程,用于創(chuàng)建粘性標頭或頁腳 CSS教程,用于創(chuàng)建粘性標頭或頁腳 Jul 02, 2025 am 01:04 AM

    TocreatestickyheadersandfooterswithCSS,useposition:stickyforheaderswithtopvalueandz-index,ensuringparentcontainersdon’trestrictit.1.Forstickyheaders:setposition:sticky,top:0,z-index,andbackgroundcolor.2.Forstickyfooters,betteruseposition:fixedwithbot

    什么是圓錐級函數(shù)? 什么是圓錐級函數(shù)? Jul 01, 2025 am 01:16 AM

    theconic-Gradient()functionIncsscreatesCircularGradientsThatRotateColorStopSaroundAcentralPoint.1.IsidealForPieCharts,ProgressIndicators,colordichers,colorwheels和decorativeBackgrounds.2.itworksbysbysbysbydefindefingincolordefingincolorstopsatspecificains off.

    CSS自定義屬性的范圍是什么? CSS自定義屬性的范圍是什么? Jun 25, 2025 am 12:16 AM

    CSS自定義屬性的作用域取決于其聲明的上下文,全局變量通常定義在:root中,而局部變量則定義在特定選擇器內(nèi),以便組件化和隔離樣式。例如,定義在.card類中的變量僅對匹配該類的元素及其子元素可用。最佳實踐包括:1.使用:root定義全局變量如主題色;2.在組件內(nèi)部定義局部變量以實現(xiàn)封裝;3.避免重復(fù)聲明同一變量;4.注意選擇器特異性可能引發(fā)的覆蓋問題。此外,CSS變量區(qū)分大小寫,且應(yīng)在使用前定義以避免錯誤。若變量未定義或引用失敗,則會采用回退值或默認值initial。調(diào)試時可通過瀏覽器開發(fā)者工

    CSS教程專注于移動優(yōu)先設(shè)計 CSS教程專注于移動優(yōu)先設(shè)計 Jul 02, 2025 am 12:52 AM

    Mobile-firstCSSdesignrequiressettingtheviewportmetatag,usingrelativeunits,stylingfromsmallscreensup,optimizingtypographyandtouchtargets.First,addtocontrolscaling.Second,use%,em,orreminsteadofpixelsforflexiblelayouts.Third,writebasestylesformobile,the

    CSS教程,用于創(chuàng)建加載旋轉(zhuǎn)器和動畫 CSS教程,用于創(chuàng)建加載旋轉(zhuǎn)器和動畫 Jul 07, 2025 am 12:07 AM

    創(chuàng)建CSS加載旋轉(zhuǎn)器的方法有三種:1.使用邊框的基本旋轉(zhuǎn)器,通過HTML和CSS實現(xiàn)簡單動畫;2.使用多個點的自定義旋轉(zhuǎn)器,通過不同延遲時間實現(xiàn)跳動效果;3.在按鈕中添加旋轉(zhuǎn)器,通過JavaScript切換類來顯示加載狀態(tài)。每種方法都強調(diào)了設(shè)計細節(jié)如顏色、大小、可訪問性和性能優(yōu)化的重要性,以提升用戶體驗。

    如何將整個網(wǎng)格集中在視口中? 如何將整個網(wǎng)格集中在視口中? Jul 02, 2025 am 12:53 AM

    要讓整個網(wǎng)格布局在視口中居中顯示,可通過以下方法實現(xiàn):1.使用margin:0auto實現(xiàn)水平居中,需設(shè)定容器固定寬度,適用于固定布局;2.利用Flexbox在外層容器設(shè)置justify-content和align-items屬性,結(jié)合min-height:100vh可實現(xiàn)垂直和水平居中,適合全屏展示場景;3.直接使用CSSGrid的place-items屬性在父容器上快速居中,簡潔且現(xiàn)代瀏覽器支持良好,同時需確保父容器有足夠高度。每種方式均有適用場景和限制,根據(jù)實際需求選擇合適的方案即可。

    See all articles