有没有办法让标签顺序符合视觉顺序?

Is there a way to make the tab order honour the visual order?

假设我有一个包含链接列表的网页。

<ul class="links">
    <li><a href="#">Alpha</a></li>
    <li><a href="#">Bravo</a></li>
    <li><a href="#">Charlie</a></li>
</ul>

出于设计原因,我需要更改这些链接在大屏幕上的顺序,以便 "Alpha" 在视觉上位于列表底部。

@media (min-width: 30em) {

    .links {
        display: flex;
        flex-direction: column;
    }

    .links > li:first-child {
        order: 1;
    }

}

当在页面上的各种可聚焦元素之间切换时,这些链接的视觉顺序不受尊重,因此当在列表中切换时,焦点顺序将是 "Alpha" 然后 "Bravo" 然后 "Charlie".

如果我在这些链接中的任何一个上设置正值 tabindex,它们将移至 Tab 键顺序的末尾(因为所有其他可聚焦元素基本上都有 0 的 Tab 键索引)。

我的问题是:有没有办法让 Tab 键顺序符合视觉顺序?

目前似乎没有办法统一弹性排序和HTML排序, 根据 https://www.w3.org/TR/css-flexbox-1/#order-property 和第 5.4.1 节。重新排序和辅助功能:

Authors must use order only for visual, not logical, reordering of content. Style sheets that use order to perform logical reordering are non-conforming.