Charts

Charts are visual representations of data that make complex information easier to understand and analyze.

Accessibility Support

Out of the box, the Telerik and Kendo UI Chart provides extensive accessibility support and enables users with disabilities to acquire complete control over its features.

The Chart is compliant with the Web Content Accessibility Guidelines (WCAG) 2.2 standards and Section 508 requirements, follows the Web Accessibility Initiative - Accessible Rich Internet Applications (WAI-ARIA) best practices for implementing the 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.

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 via keyboard shortcuts.

SelectorAttributeUsage
.k-chartrole=graphics-documentIndicates that the Chart element is a Graphics Document.
aria-roledescriptionUser-set value that clarifies the type of Chart to screen reader users.
aria-labelAnnounces the user-set title of the Chart.
.k-chart-pointrole=graphics-symbolSpecifies the role of the series point elements.
aria-roledescription=PointDescribes the role of the series point elements.
.k-chart-legend-itemrole=checkboxSpecifies the role of the legend item element.
aria-labelSpecifies the name of the series associated with this legend item.
aria-roledescription=Legend itemSpecifies the name of the series associated with this legend item.

Managing the Focus

This feature aims to add keyboard support to the Chart widget. Keyboard navigation will be enabled for points of the chart series, as well as legend items. Moving focus along these points allows screen readers to access the points accessibility attributes.

The method by which focus is moved through the points will be consistent with other big Kendo widgets, such as the Grid and Scheduler. The only focusable element will be the chart itself, so that users can quickly tab in and out of the component. Moving through points will be done using the arrow keys (and tab/shift+tab between the chart and legend area), and updating an aria-activedescendant attribute on the focused chart element. The individual points will not be focusable. Clicking on a point or legend item will move the focus inside the chart, and focus the clicked item.

Keyboard Navigation

Once the element receives focus, there will be focusable areas the user can be in. Initially focus is set on the first point in the series. If the user hits Tab focus is moved to the legend items. Hitting Tab again moves focus out of the chart and onto the next focusable element on the page. If the chart doesn't have a legend, hitting Tab the first time moves focus out of the chart directly.

Note: if the legend position is top or left, the order is reversed - the legend will be the first to receive focus, and the chart second.

So there are two contexts, in which the user can navigate:

Focus is in the chart area

When going through the items of a series with the arrow keys, when you reach the end of the series you will be moved to the first item of the next series (and vice versa). This will allow going through all items in the chart using only one arrow key - for instance in a bar chart pressing Right Arrow will move through all items of series A, then all items of series B, then all items of series C, and only then loop back to series A.

ShortcutBehavior
TabMoves focus to the Legend items, focusing the first legend item. If legend is not available, moves focus to the next focusable element on the page.
Shift + TabMoves focus to the previous focusable element on the page.
Arrow keysBased on the chart type, the arrow keys move through points or series.
Categorical charts

These include Area, RangeArea, Bar, Column, RangeBar, Bullet, Waterfall, Line, CandleStick, BoxPlot.

They can be either horizontal (bar), or vertical (column). The orientation is determined by the first series type. All other charts adhere to this orientation.

Charts in this category can also have several panes, oriented below each other. This is only supported in the column/vertical orientation.

When the charts are grouped in several panes, the Up/Down arrow keys should move between series taking the panes into consideration first. That is to say, pressing Down arrow should loop through all series from the top pane before going to the series in the bottom pane, regardless of the points value. Since panes apply only to vertical charts, there is no equivalent requirement for the Left/Right arrow keys in the vertical horizontal charts.

When the chart is horizontal, the flow if items in the series is inverted - instead of points going from left to right, they go from top to bottom. So to preserve the natural flow of the keyboard navigation, the Up/Down and Left/Right keys are swapped (Up/Down arrow goes through items of a series, while Left/Right arrow goes through different series).

ShortcutBehavior
Up/Down arrow keysMove through the different series. The order in which this occurs determines the action of the arrow keys. For stacked Bar/Column charts and Line/Area charts Up/Down arrow keys will move focus to next/previous series item, based on its coordinates. Thus moving the the closest point available. If several series are present on a single pane, the focus first moves through all items of series of the same type, before jumping on the next. Thus if you have a stacked bar with two series and a single line series, the focus will first traverse all bar series before moving to the line, regardless of the line point coordinates. Regular Bar charts and it's derivatives (Waterfall, Candlestick etc.) will move focus according to the database order.
Left/Right arrow keysMove through the points in the series.
Donut charts

Only the Donut chart type lives here. You can have several series, which become nested in the plot area.

ShortcutBehavior
Up arrow keyMove to the outer series.
Down arrow keyMove to inner series.
Right arrow keyMove through the points of the series in a clockwise direction.
Left arrow keyMove through the points of the series in a anti-clockwise direction.
Pie charts

Only the Pie chart type lives here. Each pie chart can display only one series.

ShortcutBehavior
Right arrow keyMove through the points of the series in a clockwise direction.
Left arrow keyMove through the points of the series in a anti-clockwise direction.
Scatter charts

The scatter charts are Scatter, ScatterLine and Bubble. You can have multiple series of each on the same plot area.

ShortcutBehavior
Up/Down arrow keysMove through the series. Since the scatter chart is chaotic by design, the only natural and predictable order is the one from the datasource. Several competitors have tried to follow a visual order for these keys, which results in broken and unexpected navigation (going up through items follows a different order than going down, several points are unaccessible etc.).
Left/Right arrow keysMove through items in the current series.
Funnel charts

Here are the Funnel and Pyramid charts. Only one series can be displayed at a time.

ShortcutBehavior
Up/Down arrow keysMove through the items in the chart.
Radar charts

Here you have RadarLine, RadarBar and RadarArea. Radar charts are basically categorical charts. You can have multiple series of each on the same plot area.

ShortcutBehavior
Up/Down arrow keysHere we have a difference between the RadarColumn and RadarLine/Area charts. In the RadarColumn chart series are placed next to each other, and thus Up/Down arrow is expected to move in a clockwise/anti-clockwise manner, moving through them respectively. RadarLine/Area charts however place the series on top of each other, and therefore each point is visually above or below the respective points in the other series based on it's value. Here the Up/Down arrow keys move relative to the value of the points, and move the next/previous series point based on the value, rather than the datasource order. In essence pressing Up arrow will move to points away from the center of the chart, and pressing Down arrow will move towards the center.
Right arrow keyMove through the points of the series in a clockwise direction.
Left arrow keyMove through the points of the series in a anti-clockwise direction.
Polar charts

Here you have PolarLine, PolarArea and PolarScatter. Radar charts are basically scatter charts. You can have multiple series of each on the same plot area.

Since the charts are basically scatter charts, they follow the same keboard navigation logic.

ShortcutBehavior
Up/Down arrow keysMove through the series. Since the scatter chart is chaotic by design, the only natural and predictable order is the one from the datasource.
Left/Right arrow keysMove through items in the current series.
Heatmap

The heatmap will resemble a grid or excel table when navigating. The arrow keys will move through items in the respective direction, skipping over empty spaces.

Stock Chart

The stock chart is basically a regular chart, with the addition of a navigator. Only the regular chart series will be included in the tab order, while the navigator will not be accessible.

Focus is in the legend area

ShortcutBehavior
Tab keyMove focus to the next focusable element on the page.
Shift + Tab keyMove focus to the chart area, focusing the first point in the first series.
Up/Left arrow keyMove focus to the previous legend item. If we're already at the first item, focus cycles to the last item.
Down/Right arrow keyMove focus to the next legend item. If we're already at the last item, focus cycles to the first item.

Interactions

Hover and inactive states

The chart has a functionality where upon hovering a point or a legend item, the other points in the series or other series become faded (inactive). Here's how this feature will work alongside focus, and the focused state:

  • While a point or legend item is focused, if the mouse hovers over a point/series, the behavior will be the same as it is currently - the inactive points will be faded. If the focused point is also a part of the inactive points, it will receive the lower opacity look. It will not however lose the focused styles and state.
  • When the focused item changes through the arrow/tab keys, it's series will become active again, and focus will move accordingly. The other series will be marked as inactive, as if the focused point was hovered.

Testing

The Chart has been extensively tested automatically with axe-core and manually with the most popular screen readers.

Screen Readers

The Chart has been tested with the following screen readers and browsers combinations:

EnvironmentTool
FirefoxNVDA
ChromeJAWS
Microsoft EdgeJAWS

Resources

Feedback