不會有當前需求的任何完美的解決方案。
正如前面的回答指出的那樣,nav
與文章無關。
另外,WCAG指示的是:
1.3.2 Meaningful Sequence:當在其中內容被呈現的順序會影響它的意義,正確的讀出序列可以通過編程確定。 (A級)
編輯:如果改變元件的順序可以保留有意義的序列(G57),當元件不匹配視覺上的DOM順序(see C27)屏幕閱讀器的視覺焦點指示符將不符合標準閱讀順序,這將導致使用屏幕閱讀器的視力低下人士的用戶體驗不佳。
所以這是不可能的嘗試CSS視覺黑客反轉元素的順序視覺上不破壞其他規則。
你可能會認爲第三種技術:
- 設置
aria-hidden
上的可見標題,
- 在
article
標籤使用aria-labelledby
指向h1
的article
元素外:
例如:
<header>
<h1 aria-hidden="true" id="title">Your title</h1>
<nav><!-- nav here --></nav>
</header>
<article aria-labelledby="title">
// article here
</article>
另一種方法是複製標題元素,一個看得見,一個用於輔助技術
<header>
<div aria-hidden="true">Your title</div>
<nav><!-- nav here --></nav>
</header>
<article>
<h1 class="sr-only">Your title</h1>
// article here
</article>
您最好的選擇可能是隻是避免使用或乾脆,並把整個HTML文件作爲文章。是的,麪包屑
如果這是可能包含多篇文章的頁面的一部分,並且它們自己的麪包屑將其標題和內容分開......那麼我會解決CSS解決方法。 – BoltClock
CSS解決方法(在文章外部具有breadcrumb並仍然將其放置到帶有CSS的文章中)也是我的解決方法,直到有更好的解決方案 – dude