diff --git a/docs-aspnet/accessibility/accessibility-compliance-table.html b/docs-aspnet/accessibility/accessibility-compliance-table.html index d9e8a74e430..bb217565012 100644 --- a/docs-aspnet/accessibility/accessibility-compliance-table.html +++ b/docs-aspnet/accessibility/accessibility-compliance-table.html @@ -2,533 +2,623 @@ Component - Section 508 - WCAG 2.1 + WCAG 2.2 Accessibility Example + Accessibility Documentation ActionSheet - Yes AA - Demo + Demo + Documentation AIPrompt - Yes AA - N/A + Demo + Documentation AppBar - Yes AA - Demo + Demo + Documentation + + + ArcGauge + N/A + N/A + N/A AutoComplete - Yes AA - Demo + Demo + Documentation Avatar - Yes AA - Demo + Demo + Documentation - BarCode - Yes - AAA - Demo + Badge + N/A + N/A + N/A + + + Barcode + N/A + N/A + N/A BottomNavigation - Yes AA - Demo + Demo + Documentation Breadcrumb - Yes AA - Demo + Demo + Documentation Button - Yes AA - Demo + Demo + Documentation ButtonGroup - Yes AA - Demo + Demo + Documentation Calendar - Yes AA - Demo + Demo + Documentation Captcha - Yes AA - Demo + Demo + Documentation Charts - Yes AA - Demo + Demo + Documentation Chat - Yes AA - Demo + Demo + Documentation CheckBox - Yes AA N/A + Documentation CheckBoxGroup - Yes AA - Demo + Demo + Documentation - CircularGauge - Yes + Chip AA - Demo + Demo + Documentation - ComboBox - Yes + ChipList + AA + Demo + Documentation + + + CircularGauge + N/A + N/A + N/A + + + CircularProgressBar AA - Demo + Demo + Documentation ColorGradient - Yes AA - Demo + Demo + Documentation ColorPalette - Yes AA - Demo + Demo + Documentation ColorPicker - Yes AA - Demo + Demo + Documentation + + + ComboBox + AA + Demo + Documentation + + + ContextMenu + AA + N/A + Documentation DateInput - Yes AA - Demo + Demo + Documentation DatePicker - Yes AA - Demo + Demo + Documentation + + + DateRangePicker + AA + Demo + Documentation DateTimePicker - Yes AA - Demo + Demo + Documentation Diagram - Yes - AA - Demo + N/A + N/A + N/A Dialog - Yes AA - Demo + Demo + Documentation Drawer - Yes AA - Demo + Demo + Documentation DropDownButton - Yes AA - N/A + Demo + Documentation DropDownList - Yes AA - Demo + Demo + Documentation - DropDownTree* - Yes + DropDownTree AA - Demo + Demo + Documentation Editor - Yes AA - Demo + Demo + Documentation ExpansionPanel - Yes AA - Demo + Demo + Documentation FileManager - Yes AA - Demo + Demo + Documentation Filter - Yes AA - Demo + Demo + Documentation FlatColorPicker - Yes AA - Demo + Demo + Documentation FloatingActionButton - Yes AA - Demo + Demo + Documentation Form - Yes AA - Demo + Demo + Documentation Gantt - Yes AA - Demo + Demo + Documentation Grid - Yes AA - Demo + Demo + Documentation + + + GridLayout + N/A + N/A + N/A ImageEditor - Yes AA - Demo + Demo + Documentation LinearGauge - Yes - AA - Demo + N/A + N/A + N/A ListBox - Yes AA - Demo + Demo + Documentation ListView - Yes AAA - Demo - - - Loader - Yes - AA - Demo + Demo + Documentation Map - Yes - AA - Demo + N/A + N/A + N/A MaskedTextbox - Yes AA - Demo + Demo + Documentation MediaPlayer - No - N/A - Demo + AA + Demo + Documentation Menu - Yes AA - Demo + Demo + Documentation MultiColumnComboBox - Yes AA - Demo + Demo + Documentation MultiSelect - Yes AA - Demo + Demo + Documentation + + + MultiViewCalendar + AA + Demo + Documentation Notification - Yes AA - Demo + Demo + Documentation NumericTextbox - Yes AA - Demo + Demo + Documentation OrgChart - Yes AA - Demo + Demo + Documentation Pager - Yes AA - Demo + Demo + Documentation PanelBar - Yes AA - Demo + Demo + Documentation - PivotGrid - No - N/A - N/A + PDFViewer + AA + Demo + Documentation PivotGridV2 - No - N/A - N/A + AA + Demo + Documentation + + + Popover + AA + Demo + Documentation - PopOver - Yes + ProgressBar AA - Demo + Demo + Documentation PropertyGrid - Yes AA - Demo + Demo + Documentation QRCode - Yes - AAA - Demo + N/A + N/A + N/A RadialGauge - Yes - AA - Demo + N/A + N/A + N/A RadioButton - Yes AA N/A + Documentation RadioGroup - Yes AA - Demo + Demo + Documentation - Responsive Panel - Yes + Rating AA - N/A + Demo + Documentation - ScrollView - Yes + Sankey Diagram AA - Demo + Demo + N/A Scheduler - Yes AA - Demo + Demo + Documentation + + + ScrollView + N/A + N/A + N/A + + + Signature + AA + Demo + Documentation + + + SkeletonContainer + AAA + N/A + N/A Slider - Yes AA - Demo + Demo + Documentation - SplitButton - Yes + Sortable AA N/A + Documentation + + + SplitButton + AA + Demo + Documentation Splitter - Yes AA - Demo + Demo + Documentation Spreadsheet - Yes AA - Demo + Demo + Documentation + + + StackLayout + N/A + N/A + N/A> Stepper - Yes AA - Demo + Demo + Documentation Switch - Yes AA - Demo + Demo + Documentation TabStrip - Yes AA - Demo + Demo + Documentation TaskBoard - Yes AA - Demo + Demo + Documentation TextArea - Yes AAA - Demo + Demo + Documentation TextBox - Yes AA - Demo + Demo + Documentation TileLayout - Yes AAA - Demo + Demo + Documentation + + + TimeDurationPicker + AA + Demo + Documentation TimeLine - Yes AA - Demo + Demo + Documentation TimePicker - Yes AA - Demo + Demo + Documentation - TimeDurationPicker - Yes + ToggleButton AA - N/A + Demo + Documentation ToolBar - Yes AA - Demo + Demo + Documentation Tooltip - Yes AA - Demo + Demo + Documentation TreeList - Yes AA - Demo + Demo + Documentation TreeView - Yes AA - Demo + Demo + Documentation Upload - Yes AA - Demo + Demo + Documentation Window - Yes AA - Demo + Demo + Documentation Wizard - Yes AA - Demo + Demo + Documentation diff --git a/docs-aspnet/accessibility/accessibility-compliance.md b/docs-aspnet/accessibility/accessibility-compliance.md index 707ce84bb64..eea90c11dee 100644 --- a/docs-aspnet/accessibility/accessibility-compliance.md +++ b/docs-aspnet/accessibility/accessibility-compliance.md @@ -1,21 +1,45 @@ --- -title: Accessibility Compliance -page_title: Accessibility Support -description: "A list of the {{ site.product }} components in terms of the accessibility and keyboard navigation support they provide." +title: Compliance +page_title: Accessibility Compliance +description: "Compliance with the accessibility standards and requirements in the {{ site.product }} suite." slug: compliance_accessibility -position: 90 +position: 2 --- -# {{ site.product }} Accessibility {% if site.core %}Compliance{% else %}Support{% endif %} +# Accessibility Standards Compliance -Here you can download the latest version of the VPAT Template, describing the {{ site.product }} accessibility compliance state. +This article lists the accessibility compliance of the {{ site.product }} components. -The following table lists the {{ site.product }} components which support accessibility and keyboard navigation options. +## Accessibility Conformance Report + +The Accessibility Conformance Report (ACR) is a document that explains how information and communication technology products such as software, hardware, electronic content, and support documentation conform to leading global accessibility standards. {{ site.product }} provides an ACR through the Voluntary Product Accessibility Template (VPATĀ®). + +>tip Download the latest version of the {{ site.product }} Accessibility Conformance Report. + +## Compliance Table + +The table below specifies the level of WCAG 2.2 compliance of each {{ site.product }} component. + +* The *Accessibility Example* column links to component-specific accessibility demo. For general information on how the keyboard support works, see the [Keyboard Navigation]({%slug overview_accessibility%}#keyboard-navigation) section. +* The *Accessibility Documentation* column links to component-specific details and information about WAI-ARIA attributes. +* For information about **Section 508** of the US Rehabilitation Act, the **European Accessibility Act** in the EU, or any other national accessibility legislation, see section [Legal and Technical Compliance]({%slug overview_accessibility%}#legal-and-technical-compliance). + +Also check the [notes below the table](#accessibility-compliance-notes). {% include_relative accessibility-compliance-table.html %} -> The DropDownTree widget will be identified as not compliant to the WAI-ARIA spec when tested with static HTML analyzer if there is no selection in the widget and the `placeholder` configuration is not used. That is because the DropDownTree wrapper element, which has `role="listbox"` will not contain any `option` elements. That should be considered a known limitation in the widget. Detailed information on the scenario could be found in [this GitHub issue](https://github.com/telerik/kendo-ui-core/issues/6558#issuecomment-938449528). +## Accessibility Compliance Notes + +The information in the compliance table above is subject to the following considerations: + +* All components implement the required WAI-ARIA attributes without the need for any extra configuration. Some components may provide parameters that render additional optional WAI-ARIA attributes, for example, `aria-label` or `aria-describedby`. +* The compliance levels are achievable with the [*Default Ocean Blue A11y* theme swatch]({%slug overview_accessibility%}#color-contrast) or any other [custom theme swatch]({%slug sassbasedthemes_customization_telerikui%}) that provides the minimum required color contrast. +* The accessibility and compliance of some components may depend on the enabled features. In such cases, the compliance table information is based on the default component configuration. +* Component templates introduce custom markup that may not be accessible. Test any modifications to ensure the web content still meets the desired level of accessibility compliance. Be mindful of components that work with user input such as images, text, or HTML content. +* Due to the complexity of some components, there are scenarios that are not covered by the WAI-ARIA specification. + +## See Also -## Suggested Links +* [Accessibility Overview]({%slug overview_accessibility%}) +* [Globalization Overview]({%slug overview_globalization_core%}) -* [Overview of Accessibility]({% slug overview_accessibility %}) diff --git a/docs-aspnet/accessibility/assets/KendoUI-VPAT2.4RevINT.doc b/docs-aspnet/accessibility/assets/kendo-ui-vpat2.4.doc similarity index 100% rename from docs-aspnet/accessibility/assets/KendoUI-VPAT2.4RevINT.doc rename to docs-aspnet/accessibility/assets/kendo-ui-vpat2.4.doc diff --git a/docs-aspnet/accessibility/five-tips-for-accessible-charts-with-dataviz.md b/docs-aspnet/accessibility/five-tips-for-accessible-charts-with-dataviz.md deleted file mode 100644 index 4d2f6fbd2cf..00000000000 --- a/docs-aspnet/accessibility/five-tips-for-accessible-charts-with-dataviz.md +++ /dev/null @@ -1,262 +0,0 @@ ---- -title: Charts -page_title: Charts - Telerik UI for ASP.NET Core Accessibility Support -description: "Learn more tips and tricks how to make {{ site.product }} Charts accessible." -slug: charts_accessibility_support -position: 8 ---- - -# Charts - -This article provides practical tips, code samples, and illustrative videos for making disabled users interact more easily with {{ site.product }} charts and graphs. - -## Accessibility Standards - -The basic accessibility standards are: -* [Section 508 (Latest Amendment)](https://www.access-board.gov/the-board/laws/rehabilitation-act-of-1973#508) -* [WCAG 2 Quick Reference Guide](https://www.w3.org/WAI/WCAG21/quickref/) -* [Accessible Rich Internet Applications (WAI-ARIA) 1.1](https://www.w3.org/TR/wai-aria-1.1/) - -Section 508 specifies the law which governs the creation of accessible software for government entities in the United States. WCAG and WAI-ARIA contain a comprehensive set of guidelines for creating accessible websites and applications. - -The fundamental requirement that refers to and is fulfilled by the Kendo UI data visualization components is: -* Section 508—"(a) A text equivalent for every non-text element shall be provided (e.g., via `alt`, `longdesc`, or in-element content)." -* WCAG 2.2—"Guideline 1.1 Text Alternatives: Provide text alternatives for any non-text content so that it can be changed into other forms people need, such as large print, braille, speech, symbols or simpler language." - -Providing text equivalents for non-text content is a key tenant of accessibility. Visual content, such as images, animations, video, and audio resources, is a valuable asset for each web application and website. However, these visual elements are impossible to parse by screen readers and other assistive technologies and cannot be enjoyed by disabled users. That is why, both Section 508 and WCAG require that all non-decorative and non-text content has to be made accessible to assistive technologies. - -## Data Visualization - -While {{ site.product }} allows you to create visual charts and graphs that enhance textual or tabular data, the Charts and graphs fall into the "non-text content" category. Even though they are not accessible out of the box, you can include specific settings in them and make them accessible. - -The [following video](https://www.youtube.com/watch?v=lymGnquNxBg&feature=youtu.be) uses the popular VoiceOver screen reader on Apple OS X to navigate a Donut chart. - - - -In the video, you can use a screen reader to hear both the title of the chart and the values in the legend. Because the {{ site.product }} creates charts by using inline SVG elements, and SVG is markup, VoiceOver is able to drill into the chart and piece together a reasonable representation of the content which would not have been possible if the Charts needed a `canvas` element to create them. - -Also, the screen reader in the video does not select the chart exactly but rather starts reading the title. Even though the reader can access and read legend values, the Chart can be made more accessible for disabled users. - -## Tips for Accessible Charts - -This section contains quick steps for improving the accessibility of the charts and enhancing the value of the content altogether which you can use separately or in combination. SVG is the technology that powers the {{ site.product }} Charts and is accessible out of the box. - -However, the following suggested approaches and tips help make the charts and graphs more consumable and accessible to disabled users. -* [Provide text descriptions](#providing-text-descriptions) -* [Add role and title attributes to Chart elements](#adding-role-and-title-to-chart-elements) -* [Add title and desc to the root of svg elements](#adding-title-and-desc-to-the-root-of-svg-elements) -* [Generate accessible data tables from data sources](#generate-accessible-data-tables-from-data-sources) -* [Create off-screen tables and swapped on-screen tables and charts](#creating-off-screen-tables-and-swapped-on-screen-tables-and-charts) - -### Providing Text Descriptions - -Add a pure-text description of your Chart to the page by using the following markup. In the HTML, the `div` chart is wrapped in a `figure` element. - -For the complete example, refer to the following [Telerik REPL](https://netcorerepl.telerik.com/wwEblVFe50NmQ1G855). - -``` -
-
- In 2008, Spain produced electricity for its residents in four ways. - Chief among these was Nuclear power which accounted for approximately 49% of production. - Next were Wind and Hydro-electric power which produced - 27% and 22% of the nation's electricity, respectively. - In a distant fourth was Solar power, - which accounted for only 2% of all electricity produced by the country. -
-
-``` -The following example demonstrates the HtmlHelper syntax for creating the Chart and adds a `figcaption` that explains the chart in detail. The example provides a detailed description which might not always be the case. Your goal is to provide disabled users with the key information they can find in your chart and which can vary depending on the data. - -``` - @(Html.Kendo().Chart() - .Name("chart") - .Title("Sources of Electricity Produced in Spain, 2008") - .Legend(legend => legend - .Position(ChartLegendPosition.Bottom) - .Labels(labels => labels.Template("#= text # (#= value #%)")) - ) - .SeriesDefaults(seriesDefaults => seriesDefaults - .Donut() - .Labels(labels => labels - .Visible(true) - .Position(ChartSeriesLabelsPosition.OutsideEnd) - .Format("{0}%") - ) - ) - .Series(series => { - series.Donut(new dynamic[] { - new {category = "Hydro",value = 22}, - new {category = "Solar",value = 2}, - new {category = "Nuclear",value = 49}, - new {category = "Wind",value = 27} - }); - }) - .Tooltip(tooltip => tooltip - .Visible(true) - .Format("{0}%") - ) - ) -``` -For more information, refer to the [brief video](https://www.youtube.com/watch?v=QyB3sTVRd3E&feature=youtu.be) of VoiceOver which interacts with the `figcaption` element. - -``` - -``` - -### Adding role and title to Chart Elements - -To enchance the ability of your Chart, you can also add WAI-ARIA `role` and `title` attributes to the chart using the `HtmlAttributes` configuration. - -``` - .HtmlAttributes(new { role="img",title="Sources of Electricity Produced in Spain, 2008" }) -``` -In the [previous video](https://www.youtube.com/watch?v=QyB3sTVRd3E&ab_channel=KendoUI), even though VoiceOver reads the title and title legend of the Chart, it is not able to select the container or tell that the user is interacting with an HTML element. By adding a role of `img` and a `title`, VoiceOver can do both, which is demonstrated in the first 15 minutes of the video for step one. - -### Adding title and desc to the Root of svg Elements - -Another available approach is to manually add the `title` and `desc` elements to the `SVG` element that the {{ site.product }} creates. Screen readers are able to leverage these elements as fallback content that will be read to disabled users. - -For the complete example, refer to the following [Telerik REPL](https://netcorerepl.telerik.com/cQOvFBvf24JM6fxL26). - -> At the time of this writing, VoiceOver and possibly the other major screen readers do not reflect the `title` and `desc` elements. However, the suggested technique is explicitly stated in the W3C [guidelines for accessible SVG](https://www.w3.org/TR/SVG-access/) and this approach is recommended. - -* Create a template script block for the `` and `<desc>` - -``` - <script id="chartTmpl" type="text/x-kendo-tmpl"> - <title>#= title # - #= description # - -``` -* Load the HTML for that block to `kendo.template` and render the template by using a chartDetails object -* Use jQuery to select the `svg` element inside the `div` of the Chart and prepend the `title` and `description` to the beginning of that element. - - -``` - $(document).ready(function(){ - makeChartAccessible(); - }) - var chartDetails = { - title: "Sources of Electricity Produced in Spain, 2008", - description: "Graphic illustrating, by percentage, the four primary electricity sources for Spain in 2008." - }; - - function makeChartAccessible() { - var template = kendo.template($("#chartTmpl").html()); - - $('#chart svg').prepend(template(chartDetails)); - } -``` - -### Generate Accessible Data Tables from Data Sources - -This approach and the following one deal with creating a data table to serve as an alternative or a supplement to the Chart or graph. Assuming you are using a DataSource to populate your Chart, you can use the same DataSource and the Kendo UI templates to create a tabular representation of the same data. - -For the complete example, refer to the following [Telerik REPL](https://netcorerepl.telerik.com/cGElnvbe56GxmRpH44) example. - -* Create a template script block for your table. - -``` - -``` -* Subscribe to the [`Change`](https://docs.telerik.com/aspnet-core/api/kendo.mvc.ui.fluent/datasourceeventbuilder#changesystemstring) event of the DataSource and provide a handler. Inside the handler pass the template script into a Kendo UI template, render it with the DataSource, and add the table to the page. - -``` - .Events(events=>events.Change("onChange")) - - -``` - -As a result, you create a simple and accessible table that is based on the same data as the chart itself. For more information, on the way VoiceOver allows you to interact with the table, refer to the [quick video](https://www.youtube.com/watch?v=0xdrBjwiFVA&ab_channel=KendoUI). - -``` - -``` - -### Creating Off-Screen Tables and Swapped On-Screen Tables and Charts - -If you do not want to display the raw data with the Chart for all users on-screen, use either of the following options: - -* Place the table off-screen to make it invisible to sighted users but available to screen readers. - - To make the table invinsible to sighted users but available to screen readers, create a CSS class called `hidden` which will position any element at 10,000px to the left and off-screen. For the complete example, refer to the following [Telerik REPL](https://netcorerepl.telerik.com/GwklHPly54SUlKZf11) example. - - ``` - .hidden { - position:absolute; - left:-10000px; - top:auto; - width:1px; - height:1px; - overflow:hidden; - } - ``` - As a result your data table is no longer on the screen but is accessible to screen readers as demonstrated in the [following video] (https://www.youtube.com/watch?v=0xdrBjwiFVA&ab_channel=KendoUI) - - ``` - - ``` - -* Provide all users with the ability to switch between the Chart and the table. - - Place a link or button on the screen that allows the user to swap between the table and the chart. This approach enhances the experience for all users by letting them choose which presentation of the data they prefer. For the complete example, refer to the following [Telerik REPL](https://netcorerepl.telerik.com/wcubdFFT174yJUdG56) example. - - Place a **Show Table** link on the screen. When the user clicks this link, the Chart is hidden, the table is displayed, and the link text changes to **Show Chart**. - - ``` - @(Html.Kendo().Button() - .Name("tableBtn") - .FillMode(ButtonFillMode.Solid) - .ThemeColor(ThemeColor.Base) - .Content("Show Table") - .Events(e=>e.Click("onClick")) - ) - - function onClick(){ - var chart=$("#chart"); - var chartTable=$("#chartTable"); - - if (chartTable.hasClass('hidden')) { - chart.addClass('hidden'); - chartTable.removeClass('hidden'); - $(this).text("Show Chart"); - } else { - chartTable.addClass('hidden'); - chart.removeClass('hidden'); - $(this).text("Show Table"); - } - } - ``` - As a result, VoiceOver users can choose with which representation they wish to interact as demonstrated in the [following video](https://www.youtube.com/watch?v=kZNz1H2Zp3U&feature=relmfu). - - ``` - - ``` -## See Also - -* [Section 508](https://section508.gov/) -* [WCAG 2.2 (Quick Reference)](https://www.w3.org/WAI/WCAG21/quickref/) -* [W3C SVG Accessibility Guidelines](https://www.w3.org/TR/SVG-access/) -* [HTML5 Accessibility: SVG Text (Paciello Group Blog Post)](https://developer.paciellogroup.com/blog/2011/08/html5-accessibility-chops-interactive-image-example/) -* [Overview of Accessibility Features in {{ site.product }}]({% slug overview_accessibility %}) diff --git a/docs-aspnet/accessibility/overview.md b/docs-aspnet/accessibility/overview.md index 7b39e7ff4a6..9f7cfecc5e6 100644 --- a/docs-aspnet/accessibility/overview.md +++ b/docs-aspnet/accessibility/overview.md @@ -1,52 +1,114 @@ --- title: Overview page_title: Accessibility Overview -description: "General accessibility standards and keyboard navigation requirements for web applications and their support by {{ site.product }}." +description: "Accessibility features in the {{ site.product }} suite." slug: overview_accessibility -position: 0 +position: 1 --- # {{ site.product }} Accessibility Overview -Websites and applications are accessible when they provide full control over their features by enabling users with disabilities to access their content by using assistive technologies or keyboard navigation. +Web applications are accessible when they provide control over their features to users with physical or situational disabilities. These disabilities can include various categories, for example, user who are: -For the full list of components which support accessibility and keyboard navigation, refer to the article on [accessibility support by {{ site.product }}]({% slug compliance_accessibility %}). +* Unable to perceive content visually or auditory. +* Unable to use a mouse or a keyboard for any reason. +* Consuming electronic content through assistive technologies. -Refer to our [accessibility demos](https://demos.telerik.com/{{ site.platform }}/accessibility), where accessibility level and compliance of the {{ site.product }} components can be tested. +>tip Accessibility compliance is a strategic and ongoing commitment for {{ site.product }}. -## Standards and Requirements +## Legal and Technical Compliance -Accessible websites and applications normally provide support for: +Accessibility compliance can be considered from a legal and technical perspective, but these ultimately merge. Different countries have different regulations about web content accessibility compliance, for example: -* [Section 508](#section-508) -* [W3C Web Content Accessibility Guidelines (WCAG) 2.2](#wcag-22) -* [WAI-ARIA](#wai-aria) -* [Keyboard navigation requirements](#keyboard-navigation) +* Section 508 of the US Rehabilitation Act +* The EU European Accessibility Act -### Section 508 +The national regulations normally share the following characteristics: -Section 508 of the Rehabilitation Act is a set of accessibility standards set by the U.S. General Services Administration (GSA). They apply to electronic and information technology and contain technical criteria specific to various types of technologies and performance-based requirements which focus on the functional capabilities of the listed products. +* The legal requirements boil down to common technical standards such as a specific version of [WCAG](#web-content-accessibility-guidelines). +* The national legislations are slower to adopt newer accessibility standards, compared to {{ site.product }}. -### WCAG 2.2 +As a result, {{ site.product }} does not review or aim to comply with specific national accessibility legislations. The components [target compliance with the latest official standard WCAG 2.2]({%slug compliance_accessibility%}#compliance-table), which is enough to claim compliance with national legal requirements. -The W3C Web Content Accessibility Guidelines set the standards for applications regarding the provision of accessible content. Depending on the number of guidelines that are followed when building an application, W3C defines three levels of accessibility conformance—A, AA, and AAA levels. +From technical point of view, {{ site.product }} achieves accessibility through the following features: -### WAI-ARIA +* [Compliance with WCAG success criteria](#web-content-accessibility-guidelines) +* [WAI-ARIA attributes](#wai-aria) +* [Keyboard navigation](#keyboard-navigation) +* [Color contrast](#color-contrast) +* [Best practices in component development and testing](#development-practices) -WAI-ARIA is a World Wide Web Consortium accessibility specification. It specifies steps for developing web components that make them more accessible to assistive technologies such as screen readers. The WAI-ARIA framework is designed to be a framework for web developers to apply while creating web applications that use Ajax, scripting, and other rich application techniques. +## Web Content Accessibility Guidelines -### Keyboard Navigation +Web Content Accessibility Guidelines (WCAG) is an international standard that specifies how to make web content more accessible to people with disabilities. The guidelines are organized under four principles: perceivable, operable, understandable, and robust. -By default, users can only navigate to links, buttons, and form controls with a keyboard. The navigation order in which interactive items receive keyboard focus has to be logical and intuitive. Generally, it needs to follow the visual horizontal and vertical flow of the page. For example, left to right and top to bottom, header first followed by the main and then page navigation. +{{ site.product }} targets WCAG version 2.2. -### Voluntary Product Accessibility Template +## WAI-ARIA -A [Voluntary Product Accessibility Template (VPATĀ®)](https://www.section508.gov/sell/vpat/) is a document that explains how information and communication technology (ICT) products such as software, hardware, electronic content, and support documentation meet (conform to) the Revised 508 Standards for IT accessibility. +WAI-ARIA provides a framework for adding HTML attributes to identify features for user interaction, how they relate to each other, and their current state. The WAI-ARIA standard defines HTML element roles and states, which help with dynamic content and advanced user interface controls. -> You can review and download the latest version of the Telerik UI VPAT document here. +{{ site.product }} targets WAI-ARIA version 1.2. The [Compliance Table]({%slug compliance_accessibility%}#compliance-table) provides links to documentation articles, which describe the WAI-ARIA attributes of each applicable component. -## Suggested Links +## Keyboard Navigation -* [Accessibility Support by {{ site.product }}]({% slug compliance_accessibility %}) -* [GSA Government-Wide Section 508 Accessibility Program](https://www.access-board.gov/law/ra.html#section-508-federal-electronic-and-information-technology) -* [WAI-ARIA Authoring Practices](https://www.w3.org/TR/wai-aria-practices/) +Normally, users can use the keyboard only to focus and navigate to HTML links, buttons, and form inputs. {{ site.product }} has gone to the next level and provides focusable and navigable components, even though they represent complex structures. Users can use the keyboard to invoke actions such as opening DropDownLists, sorting Grid columns, resizing Splitter panes, and so on. Keyboard accessibility is part of WCAG. + +The keyboard support follows the normal flow of the web page content. Use the `Tab` key to focus a component and then use specific keyboard shortcuts to trigger specific actions. For example, use the arrow keys to move across cells in the Grid or hit `Enter` to invoke a button click. + +Most components represent a single tab stop. Once users reach and focus a component, they can leave it with a single `Tab` key press. If the component is more complex, users can walk through its inner elements with the arrow keys, for example, Grid cells, Menu items, Toolbar buttons. Some complex components can accommodate multiple other components. For example, the Grid can host a Toolbar and a Pager. In this case, tab to move the focus from one nested component to another. + +### Types of Keyboard Support + +The {{ site.product }} components may provide enhanced, standard, or no keyboard support. See the [compliance table]({%slug compliance_accessibility%}#compliance-table) for component-specific information. + +* *Standard keyboard support* implies similar keyboard navigation capabilities as standard HTML elements. For example, the Button components support `Enter` and `Space` for triggering clicks. All components with standard keyboard support are reachable through the `Tab` key and provide focus styles. +* *Enhanced keyboard support* builds on top of the standard key combinations and provides additional built-in shortcuts for improved flexibility and user experience. +* Components with no keyboard support may serve a purely visual purpose, or be containers with no available interaction. + +### Right-to-Left Support + +When using [right-to-left text direction]({%slug overview_rtlsupport_core%}), the keyboard shortcuts for the components remain unchanged. The left and right arrow keys reverse their behavior to be consistent with the RTL mode. + +## Color Contrast + +WCAG sections 1.4.3 Contrast (Minimum) and 1.4.6 Contrast (Enhanced) define contrast ratios for accessibility compliance. The built-in [*Default Ocean Blue A11y* theme swatch](https://www.telerik.com/design-system/docs/themes/kendo-themes/default/swatches/#ocean-blue-accessibility-swatch) in {{ site.product }} conforms to WCAG Level AA, except success criterion 1.4.11 Non-text Contrast in the ColorPalette component. + +You can [obtain and use the Default Ocean Blue A11y swatch]({%slug sassbasedthemes_overview%}#swatch) starting from {% if site.core %} +[version R1 2023 SP1 (2023.1.314)](https://www.telerik.com/support/whats-new/aspnet-core-ui/release-history/ui-for-asp-net-core-r1-2023-sp1-(version-2023-1-314)){% else %} +[version R1 2023 SP1 (2023.1.314)](https://www.telerik.com/support/whats-new/aspnet-mvc/release-history/ui-for-asp-net-mvc-r1-2023-sp1-(version-2023-1-314)){% endif %}. + +## Development Practices + +When implementing a {{ site.product }} component, the team: + +* Benefits from the know-how of dedicated accessibility professionals at Progress Software. +* Follows the WCAG standard and WAI-ARIA specification to lay the right foundation for the component accessibility. +* Implements automated unit tests to guarantee accessible and semantically correct rendering. +* Localizes messages for labels, titles, and other elements. +* Manually tests the component with regard to its keyboard navigation and usage with screen readers. + +### Screen Readers + +There are a lot of existing screen readers, for example: + +* Apple VoiceOver +* JAWS +* Microsoft Narrator +* NVDA +* and many others + +Each of them provides a different level of interoperability with the different web browsers, and some combinations may handle dynamic web content more effectively. {{ site.product }} aims to comply with official accessibility standards and is not able to provide built-in fixes for missing features or non-standard behaviors in assistive technologies. + +{{ site.product }} components are tested in the following environments: + +| Browser | Screen Reader | +| --- | --- | +| Chrome | JAWS | +| Microsoft Edge | JAWS | +| Firefox | NVDA | + +## Next Steps + +* [Review {{ site.product }} Accessibility Compliance Table]({%slug compliance_accessibility%}#compliance-table) +* [Download {{ site.product }} Accessibility Conformance Report (ACR)]({%slug compliance_accessibility%}#accessibility-conformance-report) \ No newline at end of file diff --git a/docs-aspnet/globalization/right-to-left-support.md b/docs-aspnet/globalization/right-to-left-support.md index 18309f0b3c9..253361af6bc 100644 --- a/docs-aspnet/globalization/right-to-left-support.md +++ b/docs-aspnet/globalization/right-to-left-support.md @@ -6,7 +6,7 @@ slug: overview_rtlsupport_core position: 2 --- -# Right-to-Left Languages +# Right-to-Left Support Right-to-left (RTL) support refers to the ability of a library, website, or application to handle and respond to users who communicate through a right-to-left language such as Arabic, Hebrew, Chinese or Japanese. diff --git a/docs-aspnet/html-helpers/charts/accessibility/accessible-charts.md b/docs-aspnet/html-helpers/charts/accessibility/accessible-charts.md new file mode 100644 index 00000000000..24eb1aec242 --- /dev/null +++ b/docs-aspnet/html-helpers/charts/accessibility/accessible-charts.md @@ -0,0 +1,279 @@ +--- +title: Accessible Charts +page_title: Accessible Charts +description: "Learn different tips and tricks on how to make the {{ site.product }} Charts accessible." +previous_url: /accessibility/five-tips-for-accessible-charts-with-dataviz +slug: accessible_charts +position: 2 +--- + +# Accessible Charts + +This article provides practical tips, code samples, and illustrative videos to help make {{ site.product }} Charts and graphs more accessible for users with disabilities. + +## Data Visualization + +While {{ site.product }} allows you to create visual charts and graphs that enhance textual or tabular data, the Charts and graphs fall into the "non-text content" category. Even though they are not accessible out of the box, you can include specific settings in them and make them accessible. + +The next video demonstrates the use of the popular VoiceOver screen reader on Apple OS X to navigate a Donut Chart. + + + +The video above shows the use of a screen reader providing audible descriptions of the chart's title and the values in the legend. Because the {{ site.product }} creates charts by using inline `SVG` elements, and `SVG` is markup, VoiceOver is able to drill into the chart and piece together a reasonable representation of the content which would not have been possible if the Charts needed a `canvas` element to create them. + +Also, the screen reader in the video does not select the chart exactly but rather starts reading the title. Even though the reader can access and read legend values, you can make the Chart more accessible for users with disabilities. + +## Improve Charts Accessibility + +This section contains quick steps for improving the accessibility of the charts and enhancing the value of the content altogether, which you can use separately or in combination. SVG is the technology that powers the {{ site.product }} Charts and is accessible out of the box. + +The following approaches can help you make the charts and graphs more accessible to users with disabilities: + +* [Provide text descriptions](#providing-text-descriptions). +* [Add "role" and "title" attributes to Chart elements](#adding-role-and-title-to-chart-elements). +* [Add "title" and "desc" elements to the root of SVG elements](#adding-title-and-desc-to-the-root-of-svg-elements). +* [Generate accessible data tables from data sources](#generating-accessible-data-tables-from-data-sources). +* [Create off-screen tables and swap on-screen tables and charts](#creating-off-screen-tables-and-swap-on-screen-tables-and-charts). + +### Providing Text Descriptions + +1. Add a plain-text description of your Chart to the page by using the following markup. + + ``` +
+
+ In 2008, Spain produced electricity for its residents in four ways. + Chief among these was Nuclear power which accounted for approximately 49% of production. + Next were Wind and Hydro-electric power which produced + 27% and 22% of the nation's electricity, respectively. + In a distant fourth was Solar power, + which accounted for only 2% of all electricity produced by the country. +
+
+ ``` + +1. Define the Chart in the `figure` tag. Your goal is to provide users with disabilities with the key information they can find in your chart, which can vary depending on the data. + + ```HtmlHelper +
+ @(Html.Kendo().Chart() + .Name("chart") + .Title("Sources of Electricity Produced in Spain, 2008") + .Legend(legend => legend + .Position(ChartLegendPosition.Bottom) + .Labels(labels => labels.Template("#= text # (#= value #%)")) + ) + .SeriesDefaults(seriesDefaults => seriesDefaults + .Donut() + .Labels(labels => labels + .Visible(true) + .Position(ChartSeriesLabelsPosition.OutsideEnd) + .Format("{0}%") + ) + ) + .Series(series => { + series.Donut(new dynamic[] { + new {category = "Hydro",value = 22}, + new {category = "Solar",value = 2}, + new {category = "Nuclear",value = 49}, + new {category = "Wind",value = 27} + }); + }) + .Tooltip(tooltip => tooltip + .Visible(true) + .Format("{0}%") + ) + ) +
+ ``` + {% if site.core %} + ```TagHelper +
+ + + + + + + + + + + + + + +
+ ``` + {% endif %} + +To review and test the complete example, refer to the following [Telerik REPL sample](https://netcorerepl.telerik.com/wwEblVFe50NmQ1G855). + +For more information, refer to the [brief video](https://www.youtube.com/watch?v=QyB3sTVRd3E&feature=youtu.be) of VoiceOver, which interacts with the `figcaption` element. + + + +### Adding Role and Title to Chart Elements + +To enhance the accessibility of the Chart, you can also add WAI-ARIA `role` and `title` attributes to the chart element using the `HtmlAttributes` configuration. + +``` + .HtmlAttributes(new { role="img",title="Sources of Electricity Produced in Spain, 2008" }) +``` +In the [previous video](https://www.youtube.com/watch?v=QyB3sTVRd3E&ab_channel=KendoUI), even though VoiceOver reads the title and title legend of the Chart, it is not able to select the container or tell that the user is interacting with an HTML element. By adding a role of `img` and a `title`, VoiceOver can do both, which is demonstrated in the first 15 seconds of the video. + +### Adding Title and Desc to the Root of SVG Elements + +Another option is to manually add the `title` and `desc` elements to the `SVG` element that the {{ site.product }} creates. Screen readers are able to leverage these elements as fallback content that will be read to users with disabilities. + +> At the time of this article, VoiceOver and possibly the other major screen readers do not reflect the `title` and `desc` elements. However, the suggested technique is explicitly stated in the W3C [guidelines for accessible SVG](https://www.w3.org/TR/SVG-access/), and this approach is recommended. + +1. Create a template `script` block for the `` and `<desc>` elements. + + ```HTML + <script id="chartTmpl" type="text/x-kendo-tmpl"> + <title>#= title # + #= description # + + ``` + +1. Load the HTML content to the [`kendo.template()`](https://docs.telerik.com/kendo-ui/api/javascript/kendo/methods/template) method and render the template by using the `chartDetails` object. +1. Use jQuery to select the `svg` element inside the `div` of the Chart and prepend the `title` and `description` to the beginning of that element. + + ```JS + $(document).ready(function(){ + makeChartAccessible(); + }); + + var chartDetails = { + title: "Sources of Electricity Produced in Spain, 2008", + description: "Graphic illustrating, by percentage, the four primary electricity sources for Spain in 2008." + }; + + function makeChartAccessible() { + var template = kendo.template($("#chartTmpl").html()); + $('#chart svg').prepend(template(chartDetails)); + } + ``` + +For the complete example, refer to the following [Telerik REPL sample](https://netcorerepl.telerik.com/cQOvFBvf24JM6fxL26). + +### Generating Accessible Data Tables from Data Sources + +This approach deals with creating a data table to serve as an alternative or a supplement to the Chart or graph. Assuming you are using a DataSource to populate the Chart, you can use the same DataSource and the [Kendo UI templates](https://docs.telerik.com/kendo-ui/framework/templates/overview) to create a tabular representation of the same data. + +1. Create a template `script` block for the table. + + ```HTML + + ``` + +1. Subscribe to the [`Change`](/api/kendo.mvc.ui.fluent/datasourceeventbuilder#changesystemstring) event of the DataSource and provide a handler. Inside the handler, pass the template script into a [Kendo UI template](https://docs.telerik.com/kendo-ui/framework/templates/overview), render it with the DataSource, and add the table to the page. + + ```JS + + ``` + +As a result, you create a simple and accessible table based on the same data as the Chart itself. + +For the complete example, refer to the following [Telerik REPL sample](https://netcorerepl.telerik.com/cGElnvbe56GxmRpH44). + +For more information on the way VoiceOver allows you to interact with the table, refer to the [quick video](https://www.youtube.com/watch?v=0xdrBjwiFVA&ab_channel=KendoUI). + + + +### Creating Off-Screen Tables and Swap On-Screen Tables and Charts + +The next two approaches let you create a data table serving as an alternative or a supplement to the Chart or graph for the cases when you do not want to display the raw data with the Chart for all users on-screen: + +* Place the table off-screen to make it invisible to sighted users but available to screen readers. + + To make the table invisible to sighted users but available to screen readers, create a CSS class called `hidden`, which will position any element at 10,000 pixels to the left and off-screen. + + ```CSS + .hidden { + position:absolute; + left:-10000px; + top:auto; + width:1px; + height:1px; + overflow:hidden; + } + ``` + As a result, the data table is no longer on the screen but is accessible to screen readers as demonstrated in the [following video] (https://www.youtube.com/watch?v=0xdrBjwiFVA&ab_channel=KendoUI) + + + + For the complete example, refer to the following [Telerik REPL sample](https://netcorerepl.telerik.com/GwklHPly54SUlKZf11). + +* Provide all users with the ability to switch between the Chart and the table. + + Place a link or button on the screen that allows the user to swap between the table and the chart. This approach enhances the experience for all users by letting them choose which presentation of the data they prefer. + + The example below shows how to add a **Show Table** button on the screen. When the user clicks the button, the Chart is hidden, the table is displayed, and the button's label changes to **Show Chart**. + + ``` + @(Html.Kendo().Button() + .Name("tableBtn") + .FillMode(ButtonFillMode.Solid) + .ThemeColor(ThemeColor.Base) + .Content("Show Table") + .Events(e=>e.Click("onClick")) + ) + + + ``` + + As a result, VoiceOver users can choose with which representation they wish to interact as demonstrated in the [following video](https://www.youtube.com/watch?v=kZNz1H2Zp3U&feature=relmfu). + + + + For the complete example, refer to the following [Telerik REPL sample](https://netcorerepl.telerik.com/wzYPkBPT30o3O5DX47). + +## See Also + +* [Section 508](https://section508.gov/) +* [WCAG 2.2 (Quick Reference)](https://www.w3.org/WAI/WCAG22/quickref/) +* [W3C SVG Accessibility Guidelines](https://www.w3.org/TR/SVG-access/) +* [HTML5 Accessibility: SVG Text (Paciello Group Blog Post)](https://developer.paciellogroup.com/blog/2011/08/html5-accessibility-chops-interactive-image-example/) +* [Accessibility in {{ site.product }}]({%slug overview_accessibility%}) \ No newline at end of file diff --git a/docs-aspnet/html-helpers/charts/accessibility/key-nav.md b/docs-aspnet/html-helpers/charts/accessibility/key-nav.md index 09d817ec65a..2bd8f356cea 100644 --- a/docs-aspnet/html-helpers/charts/accessibility/key-nav.md +++ b/docs-aspnet/html-helpers/charts/accessibility/key-nav.md @@ -3,7 +3,7 @@ title: Keyboard Navigation page_title: Telerik UI Charts for {{ site.framework }} Documentation - Keyboard Navigation description: "Get started with the Telerik UI Chart component and learn about the accessibility support it provides through its keyboard navigation functionality." slug: keynav_aspnetcore_charts -position: 2 +position: 3 --- # Keyboard Navigation diff --git a/docs-aspnet/html-helpers/charts/accessibility/overview.md b/docs-aspnet/html-helpers/charts/accessibility/overview.md index 4efa485f662..b0be59b7bbe 100644 --- a/docs-aspnet/html-helpers/charts/accessibility/overview.md +++ b/docs-aspnet/html-helpers/charts/accessibility/overview.md @@ -1,6 +1,6 @@ --- title: Overview -page_title: Telerik UI Charts for {{ site.framework }} Documentation - Charts Accessibility +page_title: Telerik UI Charts Documentation | Charts Accessibility description: "Get started with the Telerik UI Chart component for {{ site.framework }} and learn about its accessibility support for WAI-ARIA, Section 508, and WCAG 2.2." slug: accessibility_aspnetcore_charts position: 1 @@ -8,36 +8,65 @@ position: 1 # Chart Accessibility -The Chart is accessible by screen readers and provides WAI-ARIA, Section 508, WCAG 2.2, and keyboard support. +Out of the box, the {{ site.product }} Chart provides extensive accessibility support and enables users with disabilities to acquire complete control over its features. -For more information, refer to: -* [Keyboard navigation by the Telerik UI Charts for {{ site.framework }}]({% slug keynav_aspnetcore_charts %}) -* [Accessibility in Telerik UI for {{ site.framework }}]({% slug overview_accessibility %}) +The Chart is compliant with the [Web Content Accessibility Guidelines (WCAG) 2.2 AA](https://www.w3.org/TR/WCAG22/) standards and [Section 508](https://www.section508.gov/) requirements, follows the [Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA)](https://www.w3.org/WAI/ARIA/apg/) best practices for implementing the [keyboard navigation](#keyboard-navigation) for its `component` role, provides options for managing its focus and is tested against the most popular screen readers. ## WAI-ARIA -The component follows the WAI-ARIA Authoring Practices for implementing the keyboard navigation for its component role and is tested against the popular screen readers. For more information, refer to the article on [Accessibility Compliance Table in Telerik UI for {{ site.framework }}]({% slug compliance_accessibility %}). +This section lists the selectors, attributes, and behavior patterns supported by the component and its composite elements, if any. + +The Chart is an interactive [Graphics Document](https://www.w3.org/TR/graphics-aria-1.0/#graphics-document). All actions available for mouse users are also available through keyboard shortcuts. + +| Selector | Attribute | Usage | +| -------- | --------- | ----- | +| `.k-chart` | `role=graphics-document` | Indicates that the Chart element is a Graphics Document. | +| | `aria-roledescription` | User-set value that clarifies the type of Chart to screen reader users. | +| | `aria-label` | Announces the user-set title of the Chart. | +| `.k-chart-point` | `role=graphics-symbol` | Specifies the role of the series point elements. | +| | `aria-roledescription=Point` | Describes the role of the series point elements. | +| `.k-chart-legend-item` | `role=checkbox` | Specifies the role of the legend item element. | +| | `aria-label` | Specifies the name of the series associated with this legend item. | +| | `aria-roledescription=Legend item` | Specifies the name of the series associated with this legend item. | + +## Resources + +[WAI-ARIA Graphics Module](https://www.w3.org/TR/graphics-aria-1.0/) + +[Accessibility Style Guide: SVGs](https://a11y-style-guide.com/style-guide/section-media.html#kssref-media-svgs) ## Section 508 -The Chart is compliant with the Section 508 requirements. For more information, refer to the article on [Accessibility Compliance Table in Telerik UI for {{ site.framework }}]({% slug compliance_accessibility %}). +The Chart is fully compliant with the [Section 508 requirements](https://www.section508.gov/). -## WCAG 2.2 +## Testing -The Chart supports the standards for providing accessible web content which are set by the [Web Content Accessibility Guidelines 2.1](https://www.w3.org/TR/WCAG/). +The Chart has been extensively tested automatically with [axe-core](https://github.com/dequelabs/axe-core) and manually with the most popular screen readers. -Meeting some of the Success Criteria in WCAG 2.2 may require additional customization: -* ***1.4.3** Contrast (Minimum)* +> To report any accessibility issues, contact the team through the [Telerik Support System](https://www.telerik.com/account/support-center). - The color of chart elements may need to be customized to meet the minimum required contrast level. Some Theme Swatches like the Ocean Blue A11y Accessibility Swatch meet and exceed this criteria. -* ***2.5.8:** Target Size (Minimum)* +### Screen Readers - The size of Series Markers and the font size of Legend Items may need to be customized to meet the minimum size of 24x24px required by this criteria. +The Chart has been tested with the following screen readers and browsers combinations: +| Environment | Tool | +| ----------- | ---- | +| Firefox | NVDA | +| Chrome | JAWS | +| Microsoft Edge | JAWS | + +### Test Example + +To test the Chart component, refer to the [Charts Accessibility Demo](https://demos.telerik.com/{{ site.platform }}/accessibility/chart). + +## Keyboard Navigation + +For details on how the Chart keyboard navigation works, refer to the [Chart Keyboard Navigation]({%slug keynav_aspnetcore_charts%}) article. ## See Also -* [WCAG 2.2 Support by the Chart (Demo)](https://demos.telerik.com/{{ site.platform }}/charts/index) -* [Keyboard Navigation by the Chart (Demo)](https://demos.telerik.com/{{ site.platform }}/charts/keyboard_navigation) -* [Keyboard Navigation by the Chart]({% slug keynav_aspnetcore_charts %}) -* [Accessibility in Telerik UI for {{ site.framework }}]({% slug overview_accessibility %}) +* [Keyboard Navigation by the Chart for {{ site.framework }} (Demo)](https://demos.telerik.com/{{ site.platform }}/charts/keyboard_navigation) +* [Keyboard Navigation by the Chart for {{ site.framework }}]({% slug keynav_aspnetcore_charts %}) +* [Accessibility in {{ site.product }}]({%slug overview_accessibility%}) +* [Interacting with {{ site.product }} Charts and Graphs]({%slug accessible_charts%}) + diff --git a/docs-aspnet/html-helpers/charts/sparkline/overview.md b/docs-aspnet/html-helpers/charts/sparkline/overview.md index 0a4be90c071..3833d91836f 100644 --- a/docs-aspnet/html-helpers/charts/sparkline/overview.md +++ b/docs-aspnet/html-helpers/charts/sparkline/overview.md @@ -59,6 +59,9 @@ To create the Sparklines, add the component tags to the view and provide it with * [Data binding]({% slug overview_sparklinesdatabinding_aspnetcore %})—You can bind the chart directly to a database. * [Axes configuration]({% slug axesconfig_sparklines_aspnetcore %})—You can customize the configuration of the axes. +{% if site.core %} +* [Razor Pages binding]({% slug htmlhelper_sparkline_razorpages_aspnetcore %}) +{% endif %} ## See Also diff --git a/docs-aspnet/html-helpers/charts/sparkline/razor-page.md b/docs-aspnet/html-helpers/charts/sparkline/razor-page.md index b1a264e1710..71c81eddccf 100644 --- a/docs-aspnet/html-helpers/charts/sparkline/razor-page.md +++ b/docs-aspnet/html-helpers/charts/sparkline/razor-page.md @@ -1,10 +1,11 @@ --- title: Razor Pages page_title: Razor Pages -description: "An example on how to configure remote binding DataSource to populate the Telerik UI Sparkline component for {{ site.framework }} in Razor Pages." +description: "Learn how to use the Telerik UI Sparkline component for {{ site.framework }} in a Razor Pages application with an example on how to configure its remote binding DataSource." slug: htmlhelper_sparkline_razorpages_aspnetcore position: 3 --- + # Sparkline in Razor Pages Razor Pages is an alternative to the MVC pattern that makes page-focused coding easier and more productive. This approach consists of a `cshtml` file and a `cshtml.cs` file (by design, the two files have the same name). diff --git a/docs-aspnet/html-helpers/conversational-ui/aiprompt/accessibility/overview.md b/docs-aspnet/html-helpers/conversational-ui/aiprompt/accessibility/overview.md index f60ab3d91ca..5c19d090b0c 100644 --- a/docs-aspnet/html-helpers/conversational-ui/aiprompt/accessibility/overview.md +++ b/docs-aspnet/html-helpers/conversational-ui/aiprompt/accessibility/overview.md @@ -1,33 +1,78 @@ --- title: Overview -page_title: Accessibility -description: "Get started with the {{ site.product_short }} AIPrompt by Telerik UI and learn about its accessibility support for WAI-ARIA, Section 508, and WCAG 2.2." +page_title: AIPrompt Documentation | AIPrompt Accessibility +description: "Get started with the {{ site.product }} AIPrompt and learn about its accessibility support for WAI-ARIA, Section 508, and WCAG 2.2." slug: accessibility_aspnetcore_aiprompt position: 1 --- # AIPrompt Accessibility -The AIPrompt is accessible by screen readers and provides WAI-ARIA, Section 508, WCAG 2.2, and keyboard support. +Out of the box, the {{ site.product }} AIPrompt provides extensive accessibility support and enables users with disabilities to acquire complete control over its features. -For more information, refer to: -* [Accessibility in {{ site.product }}]({% slug overview_accessibility %}) -* [Keyboard navigation by the {{ site.product_short }} AIPrompt]({% slug keynav_aspnetcore_aiprompt %}) +The AIPrompt is compliant with the [Web Content Accessibility Guidelines (WCAG) 2.2 AA](https://www.w3.org/TR/WCAG22/) standards and [Section 508](https://www.section508.gov/) requirements, follows the [Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA)](https://www.w3.org/WAI/ARIA/apg/) best practices for implementing the [keyboard navigation](#keyboard-navigation) for its `component` role, provides options for managing its focus and is tested against the most popular screen readers. ## WAI-ARIA -The component follows the WAI-ARIA Authoring Practices for implementing the keyboard navigation for its component role and is tested against the popular screen readers. For more information, refer to the article on [WAI-ARIA support in {{ site.product_short }}]({% slug overview_accessibility %}#wai-aria). +This section lists the selectors, attributes, and behavior patterns supported by the component and its composite elements, if any. + +### AIPrompt + +The AIPrompt component is a composite one and integrates the accessibility of the Toolbar, TextArea, Card List container. + +### TextArea Component + +[TextArea accessibility specification]({% slug accessibility_textarea_overview %}) + +### Prompt Suggestion Component + +The Prompt Suggestion list implements roving tabindex navigation. Meaning that only one suggestion has `tabindex=0`. The display of the suggestion list is controlled by the expand button. + +| Selector | Attribute | Usage | +| -------- | --------- | ----- | +| `.k-prompt-expander .k-button` | `aria-controls=.k-prompt-expander-content id` | Points to the controlled element based on the given `id`. | +| | `aria-expanded=true/false` | Indicates the expanded state of the prompt expander content. | +| `.k-prompt-expander .k-prompt-expander-content` | `role=list` | Indicates that the suggestion container element is a list. | +| `.k-prompt-expander .k-prompt-suggestion` | `role=listitem` | Indicates that the suggestion element is a listitem. | +| | `tabindex=0/-1` | The element must be focusable. | + +### Toolbar Component + +[ToolBar accessibility specification]({% slug accessibility_toolbar_overview %}) + +### More Actions View - PanelBar Component + +[PanelBar accessibility specification]({% slug accessibility_aspnetcore_panelbar %}) ## Section 508 -The AIPrompt is compliant with the Section 508 requirements. For more information, refer to the article on [Section 508 support in Telerik UI for {{ site.framework }}]({% slug overview_accessibility %}#section-508). +The AIPrompt is fully compliant with the [Section 508 requirements](https://www.section508.gov/). -## WCAG 2.2 +## Testing -The AIPrompt supports the standards for providing accessible web content which are set by the [Web Content Accessibility Guidelines 2.2](https://www.w3.org/TR/WCAG/). For more information, refer to the article on [WCAG 2.2 compliance in {{ site.product_short }}]({% slug overview_accessibility %}#wcag-22). +The AIPrompt has been extensively tested automatically with [axe-core](https://github.com/dequelabs/axe-core) and manually with the most popular screen readers. -## See Also +> To report any accessibility issues, contact the team through the [Telerik Support System](https://www.telerik.com/account/support-center). + +### Screen Readers + +The AIPrompt has been tested with the following screen readers and browsers combinations: + +| Environment | Tool | +| ----------- | ---- | +| Firefox | NVDA | +| Chrome | JAWS | +| Microsoft Edge | JAWS | -* [Keyboard Navigation by the AIPrompt HtmlHelper for {{ site.framework }} (Demo)](https://demos.telerik.com/{{ site.platform }}/aiprompt/keyboard-navigation) -* [Keyboard Navigation by the {{ site.product_short }} AIPrompt]({% slug keynav_aspnetcore_aiprompt %}) -* [Accessibility Compliance in {{ site.product }}]({% slug compliance_accessibility %}) +### Test Example + +To test the AIPrompt component, refer to the [ActionSheet Accessibility Demo](https://demos.telerik.com/{{ site.platform }}/accessibility/aiprompt). + +## Keyboard Navigation + +For details on how the AIPrompt keyboard navigation works, refer to the [AIPrompt Keyboard Navigation]({%slug keynav_aspnetcore_aiprompt%}) article. + +## See Also +* [Keyboard Navigation by the AIPrompt for {{ site.framework }} (Demo)](https://demos.telerik.com/{{ site.platform }}/aiprompt/keyboard-navigation) +* [Keyboard Navigation by the AIPrompt for {{ site.framework }}]({% slug keynav_aspnetcore_aiprompt %}) +* [Accessibility in {{ site.product }}]({%slug overview_accessibility%}) \ No newline at end of file diff --git a/docs-aspnet/html-helpers/conversational-ui/chat/accessibility/overview.md b/docs-aspnet/html-helpers/conversational-ui/chat/accessibility/overview.md new file mode 100644 index 00000000000..88cbe19822f --- /dev/null +++ b/docs-aspnet/html-helpers/conversational-ui/chat/accessibility/overview.md @@ -0,0 +1,71 @@ +--- +title: Overview +page_title: Chat Documentation | Chat Accessibility +description: "Get started with the {{ site.product }} Chat and learn about its accessibility support for WAI-ARIA, Section 508, and WCAG 2.2." +slug: accessibility_chat_overview +position: 1 +--- + +# Chat Accessibility + +Out of the box, the {{ site.product }} Chat provides extensive accessibility support and enables users with disabilities to acquire complete control over its features. + +The Chat is compliant with the [Web Content Accessibility Guidelines (WCAG) 2.2 AA](https://www.w3.org/TR/WCAG22/) standards and [Section 508](https://www.section508.gov/) requirements, follows the [Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA)](https://www.w3.org/WAI/ARIA/apg/) best practices for implementing the [keyboard navigation](#keyboard-navigation) for its `component` role, provides options for managing its focus and is tested against the most popular screen readers. + +## WAI-ARIA + +This section lists the selectors, attributes, and behavior patterns supported by the component and its composite elements, if any. + +| Selector | Attribute | Usage | +| -------- | --------- | ----- | +| `.k-message-list` | `role=log` | The role of the Chat message list must imply that there is a log (list) of messages. | +| | `aria-label` | Announces the purpose of the Chat message list (for ex. 'Message list'). | +| `.k-quick-reply` | `role=button` | The quick reply elements must be exposed as buttons. | +| | `tabindex=0` | The quick reply elements must be part of the page tabsequence. | +| `.k-message-box>.k-input-inner` | `role=textbox` or `nodeName=input` | The message must have an input or an element with `role=textbox`. | +| | `label for` or `aria-label` or `aria-labelledby` | The message box input must have a label. | +| `.k-input-suffix>.k-button` | `role=button` or `nodeName=button` | The buttons must have appropriate role. | +| | `aria-label` or `title` | The buttons must be properly labelled. | +| `.k-button-toggle` | `aria-controls=.k-toolbar-box id` | The ToolBar toggle button must have an `aria-controls` attribute pointing to the ToolBar element. | +| `.k-toolbar-box` | `role=toolbar` | The Chat ToolBar must have an appropriate role. | + + +Chat ToolBar follows the specification for the the ToolBar component. + +[ToolBar accessibility specification]({% slug accessibility_toolbar_overview %}) + +## Resources + +[WAI-ARIA specification for log](https://www.w3.org/TR/wai-aria-1.2/#log) + +## Section 508 + +The Chat is fully compliant with the [Section 508 requirements](https://www.section508.gov/). + +## Testing + +The Chat has been extensively tested automatically with [axe-core](https://github.com/dequelabs/axe-core) and manually with the most popular screen readers. + +> To report any accessibility issues, contact the team through the [Telerik Support System](https://www.telerik.com/account/support-center). + +### Screen Readers + +The Chat has been tested with the following screen readers and browsers combinations: + +| Environment | Tool | +| ----------- | ---- | +| Firefox | NVDA | +| Chrome | JAWS | +| Microsoft Edge | JAWS | + +### Test Example + +To test the Chat component, refer to the [Chat Accessibility Demo](https://demos.telerik.com/{{ site.platform }}/accessibility/chat). + +## Keyboard Navigation + +For details on how the Chat keyboard navigation works, refer to the [Accessibility Overview]({%slug overview_accessibility%}#keyboard-navigation) article. + +## See Also + +* [Accessibility in {{ site.product }}]({%slug overview_accessibility%}) \ No newline at end of file diff --git a/docs-aspnet/html-helpers/data-management/filemanager/accessibility/overview.md b/docs-aspnet/html-helpers/data-management/filemanager/accessibility/overview.md index 111b7bdad43..83612ea11e4 100644 --- a/docs-aspnet/html-helpers/data-management/filemanager/accessibility/overview.md +++ b/docs-aspnet/html-helpers/data-management/filemanager/accessibility/overview.md @@ -1,38 +1,92 @@ --- title: Overview -page_title: Accessibility -description: "Get started with the {{ site.product_short }} FileManager by Telerik UI and learn about its accessibility support for WAI-ARIA, Section 508, and WCAG 2.2." +page_title: FileManager Documentation | FileManager Accessibility +description: "Get started with the {{ site.product }} FileManager and learn about its accessibility support for WAI-ARIA, Section 508, and WCAG 2.2." slug: accessibility_aspnetcore_filemanager position: 1 --- # FileManager Accessibility -The FileManager is accessible by screen readers and provides WAI-ARIA, Section 508, WCAG 2.2, and keyboard support. +Out of the box, the {{ site.product }} FileManager provides extensive accessibility support and enables users with disabilities to acquire complete control over its features. -For more information, refer to: -* [Keyboard navigation by the {{ site.product_short }} FileManager]({% slug keynav_aspnetcore_filemanager %}) -* [Accessibility in {{ site.product }}]({% slug overview_accessibility %}) +The FileManager is compliant with the [Web Content Accessibility Guidelines (WCAG) 2.2 AA](https://www.w3.org/TR/WCAG22/) standards and [Section 508](https://www.section508.gov/) requirements, follows the [Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA)](https://www.w3.org/WAI/ARIA/apg/) best practices for implementing the [keyboard navigation](#keyboard-navigation) for its `component` role, provides options for managing its focus and is tested against the most popular screen readers. ## WAI-ARIA -The component follows the WAI-ARIA Authoring Practices for implementing the keyboard navigation for its component role and is tested against the popular screen readers. For more information, refer to the article on [WAI-ARIA support in {{ site.product_short }}]({% slug overview_accessibility %}#wai-aria). +This section lists the selectors, attributes, and behavior patterns supported by the component and its composite elements, if any. + +The FileManager component is a composite component that is used to represent file system-like structure. It contains: + +* `ToolBar` - on top of the component +* `Splitter` - it separates the panes in the component +* `TreeView` - in its left pane +* `Breadcrumb` - in the top of its center pane +* `ListView` or a `Grid` - in its center pane +* `k-filemanager-preview` element - in its right pane + +Each component implements its own dedicated ARIA spec. + +The FileManager component integrates the ToolBar component and follows its WAI-ARIA spec: + +[ToolBar accessibility specification]({% slug accessibility_toolbar_overview %}) + +The component that organizes the inner structure of the FileManager is a Splitter: + +[Splitter accessibility specification]({% slug accessbility_aspnetcore_splitter %}) + +The main navigation component in the FileManager is the TreeView: + +[TreeView accessibility specification]({% slug accessibility_aspnetcore_treeview %}) + +The helper navigation component in the FileManager is the Breadcrumb: + +[Breadcrumb accessibility specification]({% slug accessibility_aspnetcore_breadcrumb %}) + +The component placed in the main pain of the FileManager can be a selectable ListView: + +[ListView accessibility specification]({% slug accessibility_htmlhelpers_listview %}) + +or it can be a Grid: + +[Grid accessibility specification]({% slug accessibility_aspnetcore_grid %}) + +Apart from that, the `.k-filemanager-preview` element must be focusable so that its content can be communicated to the users: + +| Selector | Attribute | Usage | +| -------- | --------- | ----- | +| `.k-filemanager-preview` | `tabindex=0` | The element must be focusable, so that its content can be communicated to the users. | ## Section 508 -The FileManager is compliant with the Section 508 requirements. For more information, refer to the article on [Section 508 support in Kendo UI for jQuery]({% slug overview_accessibility %}#section-508). +The FileManager is fully compliant with the [Section 508 requirements](https://www.section508.gov/). + +## Testing + +The FileManager has been extensively tested automatically with [axe-core](https://github.com/dequelabs/axe-core) and manually with the most popular screen readers. + +> To report any accessibility issues, contact the team through the [Telerik Support System](https://www.telerik.com/account/support-center). + +### Screen Readers + +The FileManager has been tested with the following screen readers and browsers combinations: + +| Environment | Tool | +| ----------- | ---- | +| Firefox | NVDA | +| Chrome | JAWS | +| Microsoft Edge | JAWS | + +### Test Example -## WCAG 2.2 +To test the FileManager component, refer to the [FileManager Accessibility Demo](https://demos.telerik.com/{{ site.platform }}/accessibility/filemanager). -The FileManager supports the standards for providing accessible web content which are set by the [Web Content Accessibility Guidelines 2.1](https://www.w3.org/TR/WCAG/). +## Keyboard Navigation -For more information, refer to: -* [WCAG 2.2 support by the FileManager (demo)](https://demos.telerik.com/{{ site.platform }}/filemanager/index) -* [WCAG 2.2 compliance in {{ site.product_short }} ]({% slug overview_accessibility %}#wcag-21) +For details on how the FileManager keyboard navigation works, refer to the [FileManager Keyboard Navigation]({%slug keynav_aspnetcore_filemanager%}) article. ## See Also -* [WCAG 2.2 Support by the FileManager HtmlHelper for {{ site.framework }} (Demo)](https://demos.telerik.com/{{ site.platform }}/filemanager/index) -* [Keyboard Navigation by the FileManager HtmlHelper for {{ site.framework }} (Demo)](https://demos.telerik.com/{{ site.platform }}/filemanager/keyboard-navigation) -* [Keyboard Navigation by the FileManager HtmlHelper for {{ site.framework }}]({% slug keynav_aspnetcore_filemanager %}) -* [Accessibility Compliance in {{ site.product }}]({% slug compliance_accessibility %}) +* [Keyboard Navigation by the FileManager for {{ site.framework }} (Demo)](https://demos.telerik.com/{{ site.platform }}/filemanager/keyboard-navigation) +* [Keyboard Navigation by the FileManager for {{ site.framework }}]({% slug keynav_aspnetcore_filemanager %}) +* [Accessibility in {{ site.product }}]({%slug overview_accessibility%}) \ No newline at end of file diff --git a/docs-aspnet/html-helpers/data-management/filter/accessibility/overview.md b/docs-aspnet/html-helpers/data-management/filter/accessibility/overview.md index 6e577114db6..ce9245f75c8 100644 --- a/docs-aspnet/html-helpers/data-management/filter/accessibility/overview.md +++ b/docs-aspnet/html-helpers/data-management/filter/accessibility/overview.md @@ -1,32 +1,68 @@ --- title: Overview -page_title: Filter Accessibility -description: "Get started with the Filter component and learn about its accessibility support for WAI-ARIA, Section 508, and WCAG 2.2." +page_title: Filter Documentation | Filter Accessibility +description: "Get started with the {{ site.product }} Filter and learn about its accessibility support for WAI-ARIA, Section 508, and WCAG 2.2." slug: accessibility_aspnetcore_filter position: 1 --- # Filter Accessibility -The Filter is accessible by screen readers and provides WAI-ARIA, Section 508, WCAG 2.2, and keyboard support. +Out of the box, the {{ site.product }} Filter provides extensive accessibility support and enables users with disabilities to acquire complete control over its features. -For more information, refer to: -* [Keyboard navigation by the {{site.product}} Filter]({% slug keynav_filter_aspnetcore %}) -* [Accessibility in Telerik UI for {{ site.framework }}]({% slug overview_accessibility %}) +The Filter is compliant with the [Web Content Accessibility Guidelines (WCAG) 2.2 AA](https://www.w3.org/TR/WCAG22/) standards and [Section 508](https://www.section508.gov/) requirements, follows the [Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA)](https://www.w3.org/WAI/ARIA/apg/) best practices for implementing the [keyboard navigation](#keyboard-navigation) for its `component` role, provides options for managing its focus and is tested against the most popular screen readers. ## WAI-ARIA - The component follows the WAI-ARIA Authoring Practices for implementing the keyboard navigation for its component role and is tested against the popular screen readers. For more information, refer to the article on [WAI-ARIA support in {{ site.product_short }}]({% slug overview_accessibility %}#wai-aria). +This section lists the selectors, attributes, and behavior patterns supported by the component and its composite elements, if any. + +The Filter component represents visually the structure of a filter object. As the filter object can contain nested objects, that hierarchical structure must be represented in the accessibility tree by the `role=tree` assigned to the component. + +| Selector | Attribute | Usage | +| -------- | --------- | ----- | +| `.k-filter-container` | `role=tree` | Describes the hierarchical structure of the Filter component. | +| | `aria-label` | Specifies a label for the Filter component. | +| `.k-filter-group-main,.k-filter-item` | `role=treeitem` | Each FilterGroup and FilterExpression represent a separate `treeitem` in the Filter component structure. | +| `.k-filter-lines` | `role=group` | Represents a group if items in the Filter component. | +| `.k-toolbar` | `role=toolbar` | The role represents a collection of tools. | +| | `aria-label` | Specifies a label for the toolbar. | + +Each toolbar in the Filter must follow the specification for a ToolBar component. The elements inside the FilterGroup follow the ARIA specification applicable to their specific roles. + +## Resources + +[WAI-ARIA specification for toolbar](https://www.w3.org/TR/wai-aria-1.2/#toolbar) ## Section 508 -The Filter is compliant with the Section 508 requirements. For more information, refer to the article on [Section 508 support in {{ site.product }}]({% slug overview_accessibility %}#section-508). +The Filter is fully compliant with the [Section 508 requirements](https://www.section508.gov/). + +## Testing + +The Filter has been extensively tested automatically with [axe-core](https://github.com/dequelabs/axe-core) and manually with the most popular screen readers. + +> To report any accessibility issues, contact the team through the [Telerik Support System](https://www.telerik.com/account/support-center). + +### Screen Readers + +The Filter has been tested with the following screen readers and browsers combinations: + +| Environment | Tool | +| ----------- | ---- | +| Firefox | NVDA | +| Chrome | JAWS | +| Microsoft Edge | JAWS | + +### Test Example + +To test the Filter component, refer to the [Filter Accessibility Demo](https://demos.telerik.com/{{ site.platform }}/accessibility/filter). -## WCAG 2.2 +## Keyboard Navigation -The Filter supports the standards for providing accessible web content which are set by the [Web Content Accessibility Guidelines 2.1](https://www.w3.org/TR/WCAG/). +For details on how the Filter keyboard navigation works, refer to the [Filter Keyboard Navigation]({%slug keynav_filter_aspnetcore%}) article. ## See Also -* [Keyboard Navigation by the Filter (Demo)](https://demos.telerik.com/{{site.platform}}/filter/keyboard-navigation) -* [Keyboard Navigation by the Filter]({% slug keynav_filter_aspnetcore %}) +* [Keyboard Navigation by the Filter for {{ site.framework }} (Demo)](https://demos.telerik.com/{{ site.platform }}/filter/keyboard-navigation) +* [Keyboard Navigation by the Filter for {{ site.framework }}]({% slug keynav_filter_aspnetcore %}) +* [Accessibility in {{ site.product }}]({%slug overview_accessibility%}) \ No newline at end of file diff --git a/docs-aspnet/html-helpers/data-management/grid/accessibility/overview.md b/docs-aspnet/html-helpers/data-management/grid/accessibility/overview.md index f0ec144c281..86c90ffc2d1 100644 --- a/docs-aspnet/html-helpers/data-management/grid/accessibility/overview.md +++ b/docs-aspnet/html-helpers/data-management/grid/accessibility/overview.md @@ -1,38 +1,217 @@ --- title: Overview -page_title: Accessibility -description: "Get started with the {{ site.product_short }} Grid by Telerik UI and learn about its accessibility support for WAI-ARIA, Section 508, and WCAG 2.2." +page_title: Grid Documentation | Grid Accessibility +description: "Get started with the {{ site.product }} Grid and learn about its accessibility support for WAI-ARIA, Section 508, and WCAG 2.2." slug: accessibility_aspnetcore_grid position: 1 --- # Grid Accessibility -The Grid is accessible by screen readers and provides WAI-ARIA, Section 508, WCAG 2.2, and keyboard support. +Out of the box, the {{ site.product }} Grid provides extensive accessibility support and enables users with disabilities to acquire complete control over its features. -For more information, refer to: -* [Keyboard navigation by the {{ site.product_short }} Grid]({% slug keynav_aspnetcore_grid %}) -* [Accessibility in {{ site.product }}]({% slug overview_accessibility %}) +The Grid is compliant with the [Web Content Accessibility Guidelines (WCAG) 2.2 AA](https://www.w3.org/TR/WCAG22/) standards and [Section 508](https://www.section508.gov/) requirements, follows the [Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA)](https://www.w3.org/WAI/ARIA/apg/) best practices for implementing the [keyboard navigation](#keyboard-navigation) for its `component` role, provides options for managing its focus and is tested against the most popular screen readers. ## WAI-ARIA -The component follows the WAI-ARIA Authoring Practices for implementing the keyboard navigation for its component role and is tested against the popular screen readers. For more information, refer to the article on [WAI-ARIA support in {{ site.product_short }}]({% slug overview_accessibility %}#wai-aria). +This section lists the selectors, attributes, and behavior patterns supported by the component and its composite elements, if any. + +The Grid is a composite component that consists of four logically separated structural elements: + +* Toolbar (`role=toolbar`) +* Group header (`role=toolbar`) +* Data Grid (`role=grid`) +* Pager (`role=application`) + +### Grid Toolbar + +Grid Toolbar follows the specification of the ToolBar component. + +[ToolBar accessibility specification]({% slug accessibility_toolbar_overview %}) + +| Selector | Attribute | Usage | +| -------- | --------- | ----- | +| `.k-grid-toolbar` | `role=toolbar` | The toolbar is a collection of command buttons and inputs. | +| | `aria-label` | Clarifies the purpose of the toolbar. | +| | `aria-controls=.k-grid-content>table id` | Points to the `id` of the element with `role=grid`. | + +### Grid Grouping Header + +Grid Grouping Header follows the specification of the ToolBar component. + +[ToolBar accessibility specification]({% slug accessibility_toolbar_overview %}) + +| Selector | Attribute | Usage | +| -------- | --------- | ----- | +| `.k-grouping-header` | `role=toolbar` | The Grouping header is a ToolBar (collection of buttons). | +| | `aria-label` | Clarifies the purpose of the header. | +| | `aria-controls=.k-grid-content>table id` | Points to the `id` of the element with `role=grid`. | +| `.k-grouping-header .k-chip-list .k-chip` | `role=button` | If the element used is not `