TabPanel
TabPanel
アクセシビリティ
TabPanel コントロールは、WAI-ARIA アクセシビリティガイドラインを実装します。
機能
サンプル
設定
説明
TabPanel は、WAI-ARIA アクセシビリティガイドラインを実装します。 すべてのタブ要素は、適切なロール属性と、適用可能なすべての ARIA 属性を持ちます。
次の例では、タブヘッダーとタブペインに一意の ID を割り当てます。 TabPanel はこれを使用して自動的に「aria-controls」属性と「aria-labelledby」属性を生成します。
また、マークアップで「America」ペインに「wj-state-active」クラスを追加して、初期状態で選択されるタブを定義します。 これを行わない場合は、最初のタブがデフォルトで選択されます。
最後に、この例は AutoSwitch プロパティの効果を示します。 このプロパティは、コントロールがタブと矢印キーを処理する方法に影響します。 このトピック関する詳細な考察は、 W3C ARIA Practices の記事と Simply Accessible の記事を参照してください。
ソース
AccessibilityController.cs
using MvcExplorer.Models; using Microsoft.AspNetCore.Mvc; using System.Linq; using System.Collections.Generic; using Microsoft.AspNetCore.Http; namespace MvcExplorer.Controllers { public partial class TabPanelController : Controller { // GET: Accessibility public ActionResult Accessibility(IFormCollection collection) { var settings = new ClientSettingsModel("tabAccessibility") { Settings = CreateAccessibilitySettings(), DefaultValues = GetAccessibilityDefaultValues() }; ViewBag.DemoSettingsModel = settings; return View(); } private static IDictionary<string, object[]> CreateAccessibilitySettings() { var settings = new Dictionary<string, object[]> { {"AutoSwitch", new object[]{false, true}} }; return settings; } private static IDictionary<string, object> GetAccessibilityDefaultValues() { var defaultValues = new Dictionary<string, object> { {"AutoSwitch",true} }; return defaultValues; } } }
Accessibility.cshtml
@{ ClientSettingsModel demoSettingModel = ViewBag.DemoSettingsModel; ViewBag.DemoSettings = true; } <c1-tab-panel id="@demoSettingModel.ControlId"> <div> <a id="hdr-africa"> Africa </a> <div id="pane-africa"> <ul> <li>Algeria</li> <li>Angola</li> <li>Benin</li> <li>Botswana</li> </ul> </div> </div> <div> <a id="hdr-america" class="wj-state-active"> America </a> <div id="pane-america"> <ul> <li>Canada</li> <li>Chile</li> <li>Mexico</li> <li>United States</li> </ul> </div> </div> <div> <a id="hdr-asia"> Asia </a> <div id="pane-asia"> <ul> <li>China</li> <li>Korea</li> <li>India</li> <li>Japan</li> </ul> </div> </div> <div> <a id="hdr-europe"> Europe </a> <div id="pane-europe"> <ul> <li>Austria</li> <li>England</li> <li>France</li> <li>Germany</li> <li>Netherlands</li> <li>Switzerland</li> </ul> </div> </div> <div> <a id="hdr-oceania"> Oceania </a> <div id="pane-oceania"> <ul> <li>Australia</li> <li>Fiji</li> <li>New Zealand</li> <li>Samoa</li> </ul> </div> </div> </c1-tab-panel> @section Summary{ <p>@Html.Raw(TabPanelRes.Accessibility_Text0)</p> } @section Description{ <p>@Html.Raw(TabPanelRes.Accessibility_Text1)</p> <p>@Html.Raw(TabPanelRes.Accessibility_Text2)</p> <p>@Html.Raw(TabPanelRes.Accessibility_Text3)</p> <p>@Html.Raw(TabPanelRes.Accessibility_Text4)</p> }
マニュアル