Skip to content

Commit 967789c

Browse files
authored
Fix/tabs accessibility (#360)
* Add aria support for tab dropdowns * Fix: tabindex=-1 breaking tab navigation * Update bootstrap.js version to match bootstrap.css, recognize aria-expanded * Remove role=menu in dropdowns
1 parent b6bb125 commit 967789c

File tree

2 files changed

+31
-25
lines changed

2 files changed

+31
-25
lines changed

_includes/scripts.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script src="https://code.jquery.com/jquery-2.1.0.min.js"></script>
2-
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
2+
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
33
<script src="{{'/public/tabs.js' | prepend: site.baseurl | prepend: site.url}}"></script>
44
<script src="{{'/public/combobox-autocomplete.js' | prepend: site.baseurl | prepend: site.url}}"></script>
55

pages/getting-started/understand-odata-in-6-steps.html

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -473,10 +473,11 @@ <h3 class="top-margin bottom-margin">Step 1: Requesting resources
473473
<ul class="nav nav-tabs" role="tablist">
474474
<li role="presentation" class="active"><a class="tab-link" href="#http1" role="tab" aria-controls="http1" data-toggle="tab">HTTP request</a></li>
475475
<li role="presentation" class="dropdown">
476-
<a class="tab-link" href="#csharp1" role="tab" id="csharpDrop1" class="dropdown-toggle" data-toggle="dropdown" aria-controls="csharpDrop1-contents">C# &nbsp;<span class="caret"></span></a></p>
477-
<ul class="dropdown-menu tab-link"role="menu" aria-labelledby="csharpDrop1" id="csharpDrop1-contents">
478-
<li><a class="tab-link" href="#csharpCodeGen1" tabindex="-1" role="tab" id="csharpCodeGen1-tab" data-toggle="tab" aira-controls="csharpCodeGen1">OData v4 Client Code Generator</a></li>
479-
<li><a class="tab-link" href="#csharpSimpleOData1" tabindex="-1" role="tab" id="csharpSimpleOData1-tab" data-toggle="tab" aira-controls="csharpSimpleOData1">Simple.OData.Client</a></li>
476+
<a class="tab-link dropdown-toggle" href="#csharp1" role="tab" id="csharpDrop1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-controls="csharpDrop1-contents">C# &nbsp;<span
477+
class="caret"></span></a></p>
478+
<ul class="dropdown-menu tab-link"aria-labelledby="csharpDrop1" id="csharpDrop1-contents">
479+
<li><a class="tab-link" href="#csharpCodeGen1" role="tab" id="csharpCodeGen1-tab" data-toggle="tab" aria-controls="csharpCodeGen1">OData v4 Client Code Generator</a></li>
480+
<li><a class="tab-link" href="#csharpSimpleOData1" role="tab" id="csharpSimpleOData1-tab" data-toggle="tab" aria-controls="csharpSimpleOData1">Simple.OData.Client</a></li>
480481
</ul>
481482
</li>
482483
<li role="presentation"><a class="tab-link" href="#olingo-js-1" role="tab" aria-controls="olingo-js-1" data-toggle="tab">Olingo JavaScript client</a></li>
@@ -580,10 +581,11 @@ <h3 class="top-margin bottom-margin">Step 2: Requesting an individual resource
580581
<ul class="nav nav-tabs" role="tablist">
581582
<li role="presentation" class="active"><a class="tab-link" href="#http2" role="tab" aria-controls="http2" data-toggle="tab">HTTP request</a></li>
582583
<li role="presentation" class="dropdown">
583-
<a class="tab-link" href="#csharp2" role="tab" id="csharpDrop2" class="dropdown-toggle" data-toggle="dropdown" aria-controls="csharpDrop2-contents">C# &nbsp;<span class="caret"></span></a></p>
584-
<ul class="dropdown-menu tab-link" role="menu" aria-labelledby="csharpDrop1" id="csharpDrop2-contents">
585-
<li><a class="tab-link" href="#csharpCodeGen2" tabindex="-1" role="tab" id="csharpCodeGen2-tab" data-toggle="tab" aira-controls="csharpCodeGen2">OData v4 Client Code Generator</a></li>
586-
<li><a class="tab-link" href="#csharpSimpleOData2" tabindex="-1" role="tab" id="csharpSimpleOData2-tab" data-toggle="tab" aira-controls="csharpSimpleOData2">Simple.OData.Client</a></li>
584+
<a class="tab-link dropdown-toggle" href="#csharp2" role="tab" id="csharpDrop2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-controls="csharpDrop2-contents">C# &nbsp;<span
585+
class="caret"></span></a></p>
586+
<ul class="dropdown-menu tab-link" aria-labelledby="csharpDrop1" id="csharpDrop2-contents">
587+
<li><a class="tab-link" href="#csharpCodeGen2" role="tab" id="csharpCodeGen2-tab" data-toggle="tab" aria-controls="csharpCodeGen2">OData v4 Client Code Generator</a></li>
588+
<li><a class="tab-link" href="#csharpSimpleOData2" role="tab" id="csharpSimpleOData2-tab" data-toggle="tab" aria-controls="csharpSimpleOData2">Simple.OData.Client</a></li>
587589
</ul>
588590
</li>
589591
<li role="presentation"><a class="tab-link" href="#olingo-js-2" role="tab" aria-controls="olingo-js-2" data-toggle="tab">Olingo JavaScript client</a></li>
@@ -688,10 +690,11 @@ <h3 class="top-margin bottom-margin">Step 3: Queries
688690
<ul class="nav nav-tabs" role="tablist">
689691
<li role="presentation" class="active"><a class="tab-link" href="#http3" role="tab" aria-controls="http3" data-toggle="tab">HTTP request</a></li>
690692
<li role="presentation" class="dropdown">
691-
<a class="tab-link" href="#csharp3" role="tab" id="csharpDrop3" role="tab" class="dropdown-toggle" data-toggle="dropdown" aria-controls="csharpDrop3-contents">C# &nbsp;<span class="caret"></span></a></p>
692-
<ul class="dropdown-menu tab-link" role="menu" aria-labelledby="csharpDrop3" id="csharpDrop3-contents">
693-
<li><a class="tab-link" href="#csharpCodeGen3" tabindex="-1" role="tab" id="csharpCodeGen3-tab" data-toggle="tab" aira-controls="csharpCodeGen3">OData v4 Client Code Generator</a></li>
694-
<li><a class="tab-link" href="#csharpSimpleOData3" tabindex="-1" role="tab" id="csharpSimpleOData3-tab" data-toggle="tab" aira-controls="csharpSimpleOData3">Simple.OData.Client</a></li>
693+
<a class="tab-link dropdown-toggle" href="#csharp3" role="tab" id="csharpDrop3" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-controls="csharpDrop3-contents">C#
694+
&nbsp;<span class="caret"></span></a></p>
695+
<ul class="dropdown-menu tab-link" aria-labelledby="csharpDrop3" id="csharpDrop3-contents">
696+
<li><a class="tab-link" href="#csharpCodeGen3" role="tab" id="csharpCodeGen3-tab" data-toggle="tab" aria-controls="csharpCodeGen3">OData v4 Client Code Generator</a></li>
697+
<li><a class="tab-link" href="#csharpSimpleOData3" role="tab" id="csharpSimpleOData3-tab" data-toggle="tab" aria-controls="csharpSimpleOData3">Simple.OData.Client</a></li>
695698
</ul>
696699
</li>
697700
<li role="presentation"><a class="tab-link" href="#olingo-js-3" role="tab" aria-controls="olingo-js-3" data-toggle="tab">Olingo JavaScript client</a></li>
@@ -805,10 +808,11 @@ <h3 class="top-margin bottom-margin">Step 4: Creating a new resource
805808
<ul class="nav nav-tabs" role="tablist">
806809
<li role="presentation" class="active"><a class="tab-link" href="#http4" role="tab" aria-controls="http4" data-toggle="tab">HTTP request</a></li>
807810
<li role="presentation" class="dropdown">
808-
<a class="tab-link" href="#csharp4" role="tab" id="csharpDrop4" class="dropdown-toggle" data-toggle="dropdown" aria-controls="csharpDrop4-contents">C# &nbsp;<span class="caret"></span></a></p>
809-
<ul class="dropdown-menu tab-link" role="menu" aria-labelledby="csharpDrop4" id="csharpDrop4-contents">
810-
<li><a class="tab-link" href="#csharpCodeGen4" tabindex="-1" role="tab" id="csharpCodeGen4-tab" data-toggle="tab" aira-controls="csharpCodeGen4">OData v4 Client Code Generator</a></li>
811-
<li><a class="tab-link" href="#csharpSimpleOData4" tabindex="-1" role="tab" id="csharpSimpleOData4-tab" data-toggle="tab" aira-controls="csharpSimpleOData4">Simple.OData.Client</a></li>
811+
<a class="tab-link dropdown-toggle" href="#csharp4" role="tab" id="csharpDrop4" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-controls="csharpDrop4-contents">C# &nbsp;<span
812+
class="caret"></span></a></p>
813+
<ul class="dropdown-menu tab-link" aria-labelledby="csharpDrop4" id="csharpDrop4-contents">
814+
<li><a class="tab-link" href="#csharpCodeGen4" role="tab" id="csharpCodeGen4-tab" data-toggle="tab" aria-controls="csharpCodeGen4">OData v4 Client Code Generator</a></li>
815+
<li><a class="tab-link" href="#csharpSimpleOData4" role="tab" id="csharpSimpleOData4-tab" data-toggle="tab" aria-controls="csharpSimpleOData4">Simple.OData.Client</a></li>
812816
</ul>
813817
</li>
814818
<li role="presentation"><a class="tab-link" href="#olingo-js-4" role="tab" aria-controls="olingo-js-4" data-toggle="tab">Olingo JavaScript client</a></li>
@@ -1068,10 +1072,11 @@ <h3 class="top-margin bottom-margin">Step 5: Relating resources
10681072
<ul class="nav nav-tabs" role="tablist">
10691073
<li role="presentation" class="active"><a class="tab-link" href="#http5" role="tab" aria-controls="http5" data-toggle="tab">HTTP request</a></li>
10701074
<li role="presentation" class="dropdown">
1071-
<a class="tab-link" href="#csharp5" role="tab" id="csharpDrop5" class="dropdown-toggle" data-toggle="dropdown" aria-controls="csharpDrop5-contents">C# &nbsp;<span class="caret"></span></a></p>
1072-
<ul class="dropdown-menu tab-link" role="menu" aria-labelledby="csharpDrop5" id="csharpDrop5-contents">
1073-
<li><a class="tab-link" href="#csharpCodeGen5" tabindex="-1" role="tab" id="csharpCodeGen5-tab" data-toggle="tab" aira-controls="csharpCodeGen5">OData v4 Client Code Generator</a></li>
1074-
<li><a class="tab-link" href="#csharpSimpleOData5" tabindex="-1" role="tab" id="csharpSimpleOData5-tab" data-toggle="tab" aira-controls="csharpSimpleOData5">Simple.OData.Client</a></li>
1075+
<a class="tab-link dropdown-toggle" href="#csharp5" role="tab" id="csharpDrop5" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-controls="csharpDrop5-contents">C# &nbsp;<span
1076+
class="caret"></span></a></p>
1077+
<ul class="dropdown-menu tab-link" aria-labelledby="csharpDrop5" id="csharpDrop5-contents">
1078+
<li><a class="tab-link" href="#csharpCodeGen5" role="tab" id="csharpCodeGen5-tab" data-toggle="tab" aria-controls="csharpCodeGen5">OData v4 Client Code Generator</a></li>
1079+
<li><a class="tab-link" href="#csharpSimpleOData5" role="tab" id="csharpSimpleOData5-tab" data-toggle="tab" aria-controls="csharpSimpleOData5">Simple.OData.Client</a></li>
10751080
</ul>
10761081
</li>
10771082
<li role="presentation"><a class="tab-link" href="#olingo-js-5" role="tab" aria-controls="olingo-js-5" data-toggle="tab">Olingo JavaScript client</a></li>
@@ -1236,10 +1241,11 @@ <h3 class="top-margin bottom-margin">Step 6: Invoking a function
12361241
<ul class="nav nav-tabs" role="tablist">
12371242
<li role="presentation" class="active"><a class="tab-link" href="#http6" role="tab" aria-controls="http6" data-toggle="tab">HTTP request</a></li>
12381243
<li role="presentation" class="dropdown">
1239-
<a class="tab-link" href="#csharp6" role="tab" id="csharpDrop6" class="dropdown-toggle" data-toggle="dropdown" aria-controls="csharpDrop1-contents">C# &nbsp;<span class="caret"></span></a></p>
1240-
<ul class="dropdown-menu tab-link" role="menu" aria-labelledby="csharpDrop6" id="csharpDrop6-contents">
1241-
<li><a class="tab-link" href="#csharpCodeGen6" tabindex="-1" role="tab" id="csharpCodeGen6-tab" data-toggle="tab" aira-controls="csharpCodeGen6">OData v4 Client Code Generator</a></li>
1242-
<li><a class="tab-link" href="#csharpSimpleOData6" tabindex="-1" role="tab" id="csharpSimpleOData6-tab" data-toggle="tab" aira-controls="csharpSimpleOData6">Simple.OData.Client</a></li>
1244+
<a class="tab-link dropdown-toggle" href="#csharp6" role="tab" id="csharpDrop6" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-controls="csharpDrop1-contents">C# &nbsp;<span
1245+
class="caret"></span></a></p>
1246+
<ul class="dropdown-menu tab-link" aria-labelledby="csharpDrop6" id="csharpDrop6-contents">
1247+
<li><a class="tab-link" href="#csharpCodeGen6" role="tab" id="csharpCodeGen6-tab" data-toggle="tab" aria-controls="csharpCodeGen6">OData v4 Client Code Generator</a></li>
1248+
<li><a class="tab-link" href="#csharpSimpleOData6" role="tab" id="csharpSimpleOData6-tab" data-toggle="tab" aria-controls="csharpSimpleOData6">Simple.OData.Client</a></li>
12431249
</ul>
12441250
</li>
12451251
<li role="presentation"><a class="tab-link" href="#olingo-js-6" role="tab" aria-controls="olingo-js-6" data-toggle="tab">Olingo JavaScript client</a></li>

0 commit comments

Comments
 (0)