首頁 >web前端 >css教學 >最近的文檔綜述大綱

最近的文檔綜述大綱

Christopher Nolan
Christopher Nolan原創
2025-03-11 10:20:10477瀏覽

Roundup of Recent Document Outline Chatter

HTML標題最近成為熱門話題,原因是WHATWG實時標準中合併刪除了文檔大綱算法。

首先,您應該知道該算法實際上從未真正存在過。當然,它在規範中。當然,規範中也警告過不要使用它。但正如Bruce Lawson提醒我們的那樣,沒有瀏覽器實現過它。我們一直生活在一個扁平的文檔結構中。

這已經是非常舊的消息了。 Adrian Roselli從2013年起就開始撰寫關於文檔大綱謬論的文章。但他的2016年題為“不存在文檔大綱算法”的文章全面地闡述了這一點,並定期更新,增加了關於相關對話和鬥爭的額外背景信息。這確實是關於此事件的最佳時間線。 Amelia Bellamy-Royds也曾在CSS-Tricks上深入探討過這個問題的根源。

我立刻想到的是,為支持分區的文檔大綱算法所做的所有工作。從規範中刪除它當然是正確的做法,但這並不能減少為它所付出的巨大努力,即使它現在被埋在某個版本歷史中。我還想到所有那些好意地撰寫關於該算法錯誤文章的人(包括在這個網站上!),他們期望它即將出現。由於似乎缺乏行動,我們積累了近七年的精神和技術債務。

撇開“算法正式不存在了”這個消息不談,Bruce 惋惜的是,沒有通用的<h></h>元素或類似的元素可以進行分區以生成正確的標題級別。我同意。讓一個元素基本上作為公開的<title></title>存在是具有約束性的,特別是由於頁面很少圍繞單個包含單個頂級標題的文章進行結構化。我經常發現自己每次製作某種卡片組件時都會感到痛苦,在這些組件中使用###在技術上可能是正確的,但感覺順序不對。這甚至在我們討論樣式考慮之前,其中較低的標題級別現在需要看起來像不同的較高標題級別。

談到標題級別管理,Steve Faulkner(他編寫了從規範中刪除該算法的PR)對使用<hgroup></hgroup>元素處理涉及子標題、副標題、替代標題和標語的標題模式進行了非常實用的概述。我相信您在實際中見過這樣的標記:

<code><h1>令人失望的平均水平</h1> <h2>Geoff Graham的自傳</h2> <h3>作者:Geoff Graham</h3></code>

這與由標題級別驅動的扁平文檔大綱不符。每個標題都代表一個構成信息層次結構的部分:

<code>令人失望的平均水平└── Geoff Graham的自傳└── 作者:Geoff Graham</code>

我們想要的是一個標題。這時<hgroup></hgroup>元素就派上用場了:

當嵌套在<hgroup></hgroup>元素中時,該元素的內容表示子標題、替代標題或標語,這些內容不包含在文檔大綱中。

因此,我們得到以下結構:

<code><hgroup><h1>令人失望的平均水平</h1> <p>Geoff Graham的自傳</p> <p>作者:Geoff Graham</p> </hgroup></code>

<hgroup></hgroup>目前的角色是role=generic,但Steve 指出,一個提案可以將其映射到role=group。如果發生這種情況,輔助技術將允許輔助技術將更多語義含義賦予這些段落,作為它們所扮演的副標題和標語部分。聽起來很簡單,但Steve 指出了阻礙的挑戰。他還演示瞭如何使用ARIA屬性在今天實現這種模式。

在我們總結的同時,Matthias Ott發布了一些關於使用標題創建結構化大綱的技巧。查看結尾處關於檢查標題大綱的優秀工具列表。

以上是最近的文檔綜述大綱的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:混音的基礎下一篇:混音的基礎