[improvement] Tab: improve accessibility

This commit is contained in:
陈嘉涵
2019-05-24 11:33:22 +08:00
parent c3e2fec37a
commit fe7c0c38bf
10 changed files with 193 additions and 181 deletions
@@ -3,7 +3,7 @@
exports[`border props 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap">
<div class="van-tabs__nav van-tabs__nav--line">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<div class="van-tabs__line"></div>
</div>
</div>
@@ -14,21 +14,21 @@ exports[`border props 1`] = `
exports[`change tabs data 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div class="van-tab">
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div role="tab" class="van-tab">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane">Text</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" class="van-tab__pane">Text</div>
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
</div>
@@ -38,20 +38,20 @@ exports[`change tabs data 1`] = `
exports[`change tabs data 2`] = `
<div class="van-tabs van-tabs--card">
<div class="van-tabs__wrap">
<div class="van-tabs__nav van-tabs__nav--card" style="border-color: blue;">
<div class="van-tab van-tab--active" style="background-color: blue; border-color: blue;"><span class="van-ellipsis">new title1</span></div>
<div class="van-tab" style="color: blue; border-color: blue;"><span class="van-ellipsis"></span></div>
<div class="van-tab van-tab--disabled" style="border-color: blue;">
<div role="tablist" class="van-tabs__nav van-tabs__nav--card" style="border-color: blue;">
<div class="van-tab van-tab--active" style="background-color: blue; border-color: blue;" role="tab" aria-selected="true"><span class="van-ellipsis">new title1</span></div>
<div role="tab" class="van-tab" style="color: blue; border-color: blue;"><span class="van-ellipsis"></span></div>
<div role="tab" class="van-tab van-tab--disabled" style="border-color: blue;">
<div><span>title2</span></div>
</div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane">Text</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" class="van-tab__pane">Text</div>
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
</div>
@@ -61,21 +61,21 @@ exports[`change tabs data 2`] = `
exports[`click to switch tab 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68); width: 2px; transform: translateX(-1px);"></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div class="van-tab">
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div role="tab" class="van-tab">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="">Text</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" class="van-tab__pane" style="">Text</div>
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
</div>
@@ -85,21 +85,21 @@ exports[`click to switch tab 1`] = `
exports[`click to switch tab 2`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68); width: 2px; transform: translateX(-1px); transition-duration: 0.3s;"></div>
<div class="van-tab"><span class="van-ellipsis">title1</span></div>
<div class="van-tab van-tab--active">
<div role="tab" class="van-tab"><span class="van-ellipsis">title1</span></div>
<div role="tab" class="van-tab van-tab--active" aria-selected="true">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display: none;">Text</div>
<div class="van-tab__pane" style="">
<div role="tabpanel" class="van-tab__pane" style="display: none;" aria-hidden="true">Text</div>
<div role="tabpanel" class="van-tab__pane" style="">
Text
</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
</div>
@@ -109,20 +109,20 @@ exports[`click to switch tab 2`] = `
exports[`lazy render 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div class="van-tab"><span class="van-ellipsis"></span></div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div role="tab" class="van-tab"><span class="van-ellipsis"></span></div>
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane">Text</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" class="van-tab__pane">Text</div>
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
<div><span>title2</span></div>
</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
</div>
@@ -132,21 +132,21 @@ exports[`lazy render 1`] = `
exports[`lazy render 2`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68); width: 2px; transform: translateX(-1px);"></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div class="van-tab">
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div role="tab" class="van-tab">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane">Text</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" class="van-tab__pane">Text</div>
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
Text
</div>
<div class="van-tab__pane" style="display: none;">Text</div>
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">Text</div>
</div>
</div>
`;
@@ -154,19 +154,19 @@ exports[`lazy render 2`] = `
exports[`render nav-left & nav-right slot 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">Nav Left<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div class="van-tab"><span class="van-ellipsis"></span></div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>Nav Right
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">Nav Left<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div role="tab" class="van-tab"><span class="van-ellipsis"></span></div>
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>Nav Right
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane">Text</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" class="van-tab__pane">Text</div>
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
<div><span>title2</span></div>
</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
</div>
@@ -176,21 +176,21 @@ exports[`render nav-left & nav-right slot 1`] = `
exports[`swipe to switch tab 1`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div class="van-tab">
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div role="tab" class="van-tab">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane">Text</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" class="van-tab__pane">Text</div>
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
</div>
@@ -200,21 +200,21 @@ exports[`swipe to switch tab 1`] = `
exports[`swipe to switch tab 2`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div class="van-tab">
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div role="tab" class="van-tab">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display: none;">Text</div>
<div class="van-tab__pane" style="">
<div role="tabpanel" class="van-tab__pane" aria-hidden="true" style="display: none;">Text</div>
<div role="tabpanel" class="van-tab__pane" style="">
Text
</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
</div>
@@ -224,21 +224,21 @@ exports[`swipe to switch tab 2`] = `
exports[`swipe to switch tab 3`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div class="van-tab">
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div role="tab" class="van-tab">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="display: none;">Text</div>
<div class="van-tab__pane" style="">
<div role="tabpanel" class="van-tab__pane" aria-hidden="true" style="display: none;">Text</div>
<div role="tabpanel" class="van-tab__pane" style="">
Text
</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
</div>
@@ -248,21 +248,21 @@ exports[`swipe to switch tab 3`] = `
exports[`swipe to switch tab 4`] = `
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line" style="border-color: #f44;">
<div class="van-tabs__line" style="background-color: rgb(255, 68, 68);"></div>
<div class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div class="van-tab">
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">title1</span></div>
<div role="tab" class="van-tab">
<div><span>title2</span></div>
</div>
<div class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
<div role="tab" class="van-tab van-tab--disabled"><span class="van-ellipsis">title3</span></div>
</div>
</div>
<div class="van-tabs__content">
<div class="van-tab__pane" style="">Text</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" class="van-tab__pane" style="">Text</div>
<div role="tabpanel" class="van-tab__pane" style="display: none;" aria-hidden="true">
Text
</div>
<div class="van-tab__pane" style="display: none;">
<div role="tabpanel" aria-hidden="true" class="van-tab__pane" style="display: none;">
<!---->
</div>
</div>