Skip to content

Commit 80dd9af

Browse files
authored
Merge pull request #386 from telerik/add-docs-folder
chore: add common docs files
2 parents c7d7330 + 230d32f commit 80dd9af

File tree

100 files changed

+11176
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+11176
-0
lines changed

docs/accessibility/_meta.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
title: Accessibility
2+
position: 950
3+
category: common
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
---
2+
title: Accessibility Support
3+
page_title: Accessibility Support - Kendo UI for Vue Docs & Demos
4+
description: "A list of the Kendo UI components for Vue in terms of the accessibility and keyboard navigation support they provide."
5+
slug: compliance_accessibility
6+
position: 90
7+
---
8+
9+
# Accessibility Support
10+
11+
How the Kendo UI for Vue Team Approaches Accessibility
12+
13+
When implementing any Kendo UI for Vue component, the Kendo UI for Vue team follows the WAI-ARIA specification to ensure that the right foundation for the accessibility of each component is laid. From there, the team employs automated testing across the Kendo UI for Vue library through the Compliance Sheriff tool, which the team has found to be the tool that works best for automated accessibility testing of the product. Each component also goes through manual testing, which includes testing the components with various screen readers and testing out other aspects of accessibility such as keyboard navigation.
14+
15+
Due to the complexity of some of the components in the Kendo UI for Vue UI library, the team sometimes runs into scenarios not covered by the WAI-ARIA specification. In those cases, they tap into the web development accessibility know-how of the rest of the Progress organization, including feedback from accessibility-minded users, for expertise and feedback based on 10 years of creating web component libraries. This knowledge-sharing across internal teams and clients helps the team ensure that Kendo UI for Vue can reach a certain level of accessibility compliance even with its most advanced components.
16+
17+
The following table lists the accessibility compliance levels and keyboard navigation support provided by the Kendo UI for Vue UI components.
18+
19+
|Component |Section 508|WCAG 2.1| Accessibility Example | Accessibility Documentation |
20+
|:--- |:---|:---|:---|:---
21+
|`Appbar`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_appbar) |
22+
|`ArcGauge`|`No`|`n/a`| `n/a` | `n/a` |
23+
|`AutoComplete`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_autocomplete) | [Documentation](slug:accessibility_autocomplete) |
24+
|`Avatar`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_avatar) |
25+
|`Badge`|`No`|`n/a`| `n/a` | `n/a` |
26+
|`BottomNavigation`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_bottomnavigation) |
27+
|`Button`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_button) |
28+
|`ButtonGroup`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_buttongroup) |
29+
|`Calendar`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_calendar) | [Documentation](slug:accessibility_calendar) |
30+
|`Card`|`No`|`n/a`| `n/a` | `n/a` |
31+
|`Chart`|`No`|`n/a`| `n/a` | `n/a` |
32+
|`CheckBox`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_checkbox) | [Documentation](slug:accessibility_checkbox) |
33+
|`Chip`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_chip) |
34+
|`Chiplist`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_chiplist) | [Documentation](slug:accessibility_chiplist) |
35+
|`ChunkProgressBar`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_chunkprogressbar) |
36+
|`CircularGauge`|`No`|`n/a`| `n/a` | `n/a` |
37+
|`ColorGradient`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_colorgradient) |
38+
|`ColorPalette`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_colorpalette) | [Documentation](slug:accessibility_colorpalette) |
39+
|`ColorPicker`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_colorpicker) | [Documentation](slug:accessibility_colorpicker) |
40+
|`ComboBox`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_combobox) | [Documentation](slug:accessibility_combobox) |
41+
|`DateInput`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_dateinput) | [Documentation](slug:accessibility_dateinput) |
42+
|`DatePicker`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_datepicker) | [Documentation](slug:accessibility_datepicker) |
43+
|`DateRangePicker`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_daterangepicker) | [Documentation](slug:accessibility_daterangepicker) |
44+
|`DateTimePicker`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_datetimepicker) | [Documentation](slug:accessibility_datetimepicker) |
45+
|`Dialog`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_dialog) | [Documentation](slug:accessibility_dialog) |
46+
|`Drawer`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_drawer) |
47+
|`DropDownButton`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_dropdownbutton) | [Documentation](slug:accessibility_dropdownbutton) |
48+
|`DropDownList`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_dropdownlist) | [Documentation](slug:accessibility_dropdownlist) |
49+
|`Editor`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_editor) |
50+
|`ExpansionPanel`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_expansionpanel) | [Documentation](slug:accessibility_expansionpanel) |
51+
|`Filter`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_filter) |
52+
|`FlatColorPicker`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_flatcolorpicker) |
53+
|`FloatingActionButton `|`Yes`|`AA`| [Demo](slug:keyboard_navigation_floatingactionbutton) | [Documentation](slug:accessibility_floatingactionbutton) |
54+
|`FloatingLabel`|`No`|`n/a`| `n/a` | `n/a` |
55+
|`Form`|`No`|`n/a`| `n/a` | `n/a` |
56+
|`Grid`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_grid) | [Documentation](slug:accessibility_grid) |
57+
|`GridLayout`|`No`|`n/a`| `n/a` | `n/a` |
58+
|`Input`|`No`|`n/a`| `n/a` | `n/a` |
59+
|`Label`|`No`|`n/a`| `n/a` | `n/a` |
60+
|`LinearGauge`|`No`|`n/a`| `n/a` | `n/a` |
61+
|`ListBox`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_listbox) |
62+
|`Listview`|`Yes`|`AAA`| `n/a` | [Documentation](slug:accessibility_listview) |
63+
|`Loader`|`No`|`n/a`| `n/a` | `n/a` |
64+
|`MaskedTextBox`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_maskedtextbox) |
65+
|`Menu`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_menu) | [Documentation](slug:accessibility_menu) |
66+
|`MultiSelect`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_multiselect) | [Documentation](slug:accessibility_multiselect) |
67+
|`Notification`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_notification) |
68+
|`NumericTextBox`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_numerictextbox) | [Documentation](slug:accessibility_numerictextbox) |
69+
|`Pager `|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_pager) |
70+
|`PanelBar`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_panelbar) | [Documentation](slug:accessibility_panelbar) |
71+
|`Popup`|`Yes`|`AA`| `n/a` | `n/a` |
72+
|`ProgressBar`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_progressbar) |
73+
|`RadialGauge`|`No`|`n/a`| `n/a` | `n/a` |
74+
|`RadioButton`|`Yes`|`AA`| `n/a` | `n/a` |
75+
|`RadioGroup`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_radiogroup) | [Documentation](slug:accessibility_radiogroup) |
76+
|`RangeSlider`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_rangeslider) | [Documentation](slug:accessibility_rangeslider) |
77+
|`Scheduler`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_scheduler) | [Documentation](slug:accessibility_scheduler) |
78+
|`ScrollView`|`No`|`n/a`| `n/a` | `n/a` |
79+
|`Signature`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_signature) |
80+
|`Skeleton`|`Yes`|`AAA`| `n/a` | [Documentation](slug:accessibility_skeleton) |
81+
|`Slider`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_slider) | [Documentation](slug:accessibility_slider) |
82+
|`SplitButton`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_splitbutton) | [Documentation](slug:accessibility_splitbutton) |
83+
|`Splitter`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_splitter) | [Documentation](slug:accessibility_splitter) |
84+
|`StackLayout`|`No`|`n/a`| `n/a` | `n/a` |
85+
|`Stepper`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_stepper) | [Documentation](slug:accessibility_stepper) |
86+
|`Stockchart`|`No`|`n/a`| `n/a` | `n/a` |
87+
|`Switch`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_switch) | [Documentation](slug:accessibility_switch) |
88+
|`Tabstrip`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_tabstrip) | [Documentation](slug:accessibility_tabstrip) |
89+
|`TextArea`|`Yes`|`AAA`| `n/a` | [Documentation](slug:accessibility_textarea) |
90+
|`TileLayout`|`Yes`|`AAA`| `n/a` | [Documentation](slug:accessibility_tilelayout) |
91+
|`TimePicker`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_timepicker) | [Documentation](slug:accessibility_timepicker) |
92+
|`Toolbar`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_toolbar) |
93+
|`Tooltip`|`Yes`|`AA`| `n/a` | [Documentation](slug:accessibility_tooltip) |
94+
|`Treelist`|`No`|`n/a`| `n/a` | `n/a` |
95+
|`TreeView`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_treeview) | [Documentation](slug:accessibility_treeview) |
96+
|`Upload`|`Yes`|`AAA`| [Demo](slug:keyboard_navigation_upload) | [Documentation](slug:accessibility_upload) |
97+
|`Window`|`Yes`|`AA`| [Demo](slug:keyboard_navigation_window) | [Documentation](slug:accessibility_window) |
98+
99+
100+
The UI for Vue Native components are highly extensible and customizable. This means that, depending on the level of customization applied, you may be introducing rendering that is not accessible. Therefore, it is recommended that you test any modifications you make to the Kendo UI for Vue components to ensure the components still meet the desired level of accessibility standards. Additionally, be mindful of components working with custom input (images, text, HTML content, and so on) and make sure your content is accessible, too.
101+
102+
> Last updated on `14 March, 2023`. Related to v3.8.5 of the Native Vue components. Using Vue v3.2.47.
103+
104+
## Suggested Links
105+
106+
* [Overview of Accessibility](slug:overview_accessibility)
107+
* [Telerik Blogs: Accessibility Guidebook for Web Development](https://www.telerik.com/blogs/web-accessibility-guidebook-for-developers?fbclid=IwAR2L0K0iOGfagkvLQQUBM5hxkO2s7P_ZM7gT3dqdj1_LO328eHN9NkVjk0o)
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
title: Ocean Blue A11y Accessibility Swatch
3+
page_title: Ocean Blue A11y Accessibility Swatch
4+
description: "Ocean Blue A11y Accessibility Swatch in the Kendo UI for Vue suite."
5+
slug: themes_swatch_accessibility
6+
position: 2
7+
---
8+
9+
# Ocean Blue A11y Accessibility Swatch
10+
11+
The [Web Content Accessibility Guidelines](https://www.w3.org/TR/WCAG21/) sections [1.4.3 Contrast (Minimum)](https://www.w3.org/TR/WCAG21/#contrast-minimum) and [1.4.6 Contrast (Enhanced)](https://www.w3.org/TR/WCAG21/#contrast-enhanced) define the required contrast ratio for compliance. The WCAG Level AA requires a contrast ratio of at least 4.5:1 for normal text and 3:1 for large text. WCAG Level AAA requires a contrast ratio of at least 7:1 for normal text and 4.5:1 for large text. The Kendo UI for Vue library conforms to WCAG Level AA with the Default Ocean Blue A11y theme swatch coming with enabled contrast focus indicators (available as of version **6.0.1** of the [Default Theme](https://www.telerik.com/kendo-vue-ui/components/styling/theme-default/)).
12+
13+
You can test the accessibility swatch in all Kendo UI for Vue demos by choosing it in the `Change Theme` menu:
14+
15+
![Ocean Blue A11y Accessibility Swatch](ocean-blue-a11y-accessibility-swatch.gif)
16+
17+
Kendo UI for Vue distributes the Default Ocean Blue A11y theme swatch with the `@progress/kendo-theme-default` package. If you don't need to apply any [customization](https://www.telerik.com/kendo-vue-ui/components/styling/customizing/) to the theme, you can can reference the precompiled CSS directly from unpkg CDN:
18+
19+
````html
20+
https://cdn.kendostatic.com/themes/6.0.1/default/default-ocean-blue-a11y.css
21+
````
22+
23+
If you prefer, or you need to customize the provided accessibility swatch, you can install the Default theme and import the swatch styles directly:
24+
25+
````jsx
26+
// Import the Default theme accessibility swatch
27+
import '@progress/kendo-theme-default/dist/default-ocean-blue-a11y.scss';
28+
````
29+
30+
## Known Limitations
31+
32+
`BottomNavigation` and `ColorPalette` fail the *WCAG success criteria 1.4.11 Non-text contrast for the focus indicator* on its items.
33+
34+
## Suggested Links
35+
36+
* [Overview of Accessibility]({% slug overview_accessibility %})
37+
* [ThemeBuilder Pro App](https://themebuilderapp.telerik.com/)
38+
* [kendo-themes Repository](https://github.com/telerik/kendo-themes)
39+
* [Kendo Themes Swatches Wiki](https://github.com/telerik/kendo-themes/wiki/Swatches)
40+

docs/accessibility/index.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
title: Overview
3+
page_title: Accessibility Overview - Kendo UI for Vue
4+
description: "General accessibility standards and keyboard navigation requirements for web applications and their support by Kendo UI for Vue."
5+
slug: overview_accessibility
6+
position: 0
7+
---
8+
9+
# Accessibility Overview
10+
11+
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.
12+
13+
For the full list of components which support accessibility and keyboard navigation, refer to the article on [accessibility support by Kendo UI for Vue](slug:compliance_accessibility).
14+
15+
## Standards and Policies
16+
17+
Accessible websites and applications normally comply with some or all of the following standards:
18+
19+
* [Section 508](#toc-section-508)
20+
* [Web Content Accessibility Guidelines (WCAG)](#toc-web-content-accessibility-guidelines)
21+
22+
### Section 508
23+
24+
Since 1998, Section 508 is part of the [U.S. Rehabilitation Act of 1973](https://en.wikipedia.org/wiki/Rehabilitation_Act_of_1973). Section 508 represents a set of accessibility standards which were defined by the U.S. General Services Administration (GSA) and which initially applied to Federal agencies only with the aim to ensure that their electronic and information technology is accessible to people with disabilities.
25+
26+
[In 2017, Section 508 was reorganized](https://www.access-board.gov/guidelines-and-standards/communications-and-it/about-the-ict-refresh/overview-of-the-final-rule) to meet and reflect recent communication technology innovations and nowadays the Section 508 guidelines impact not only all U.S. Federal agencies, but also affect any company which does business with a Federal agency. Such companies include vendors, private contractors, financial industry, healthcare and legal organizations, and partners of those agencies which operate in the United States or abroad.
27+
28+
For more information, refer to:
29+
30+
* [Section 508 (Latest Amendment)](https://www.access-board.gov/the-board/laws/rehabilitation-act-of-1973#508)
31+
* [Rehabilitation Act of 1973](https://legcounsel.house.gov/Comps/Rehabilitation%20Act%20Of%201973.pdf)
32+
* [Kendo UI for Vue: Accessibility Support](slug:compliance_accessibility)
33+
34+
### Web Content Accessibility Guidelines
35+
36+
The Web Content Accessibility Guidelines (WCAG) which are set by the World Wide Web Consortium (W3C) define recommendations for making web content accessible to people with physical and cognitive disabilities. WCAG defines accessibility principles with their respective success criteria. Depending on the implemented success criteria by a web application, the WCAG provide the A, AA, and AAA levels of accessibility conformance.
37+
38+
For more information, refer to:
39+
40+
* [WCAG 2 Quick Reference Guide](https://www.w3.org/WAI/WCAG21/quickref/)
41+
* [WCAG 2.1 Guidelines](https://www.w3.org/TR/WCAG21)
42+
43+
## Technical Specifications
44+
45+
* [WAI-ARIA](#toc-wai-aria)
46+
* [Keyboard navigation](#toc-keyboard-navigation)
47+
48+
### WAI-ARIA
49+
50+
WAI-ARIA is a set of technical specifications which were developed by the W3C and which provide the semantics for the assistive technologies to access and interpret web content and web applications. The WAI-ARIA recommendations (standards) divide the semantics into roles and into states and properties which those roles support. For example, a [`checkbox` role](https://www.w3.org/TR/wai-aria-1.1/#checkbox) supports the [`aria-checked`](https://www.w3.org/TR/wai-aria-1.1/#aria-checked) state which indicates whether a checkbox, radio button, or a similar UI element is checked.
51+
52+
The WAI-ARIA framework targets web developers who create web applications by using AJAX, scripting, and other rich application techniques.
53+
54+
For more information, refer to:
55+
56+
* [Accessible Rich Internet Applications (WAI-ARIA) 1.1](https://www.w3.org/TR/wai-aria-1.1/)
57+
* [WAI-ARIA Role Definitions](https://www.w3.org/TR/wai-aria-1.1/#role_definitions)
58+
* [WAI-ARIA State and Property Definitions](https://www.w3.org/TR/wai-aria-1.1/#state_prop_def)
59+
* [Kendo UI for Vue: Accessibility Support](slug:compliance_accessibility)
60+
61+
### Keyboard Navigation
62+
63+
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, keyboard navigation logic 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 the page navigation.
64+
65+
[Keyboard accessibility](https://www.w3.org/WAI/WCAG21/quickref/#keyboard-accessible) is a category under the [WCAG Operable principle](https://www.w3.org/WAI/WCAG21/quickref/#principle2).
66+
67+
In WCAG 2.1, the keyboard accessible category provides the following success criteria:
68+
69+
* [Keyboard](https://www.w3.org/WAI/WCAG21/quickref/#keyboard)
70+
* [No Keyboard Trap](https://www.w3.org/WAI/WCAG21/quickref/#no-keyboard-trap)
71+
* [Keyboard (No Exception)](https://www.w3.org/WAI/WCAG21/quickref/#keyboard-no-exception)
72+
* [Character Key Shortcuts](https://www.w3.org/WAI/WCAG21/quickref/#character-key-shortcuts)
73+
74+
## Suggested Links
75+
76+
* [Accessibility Support by Kendo UI for Vue](slug:compliance_accessibility)
77+
* [GSA Government-Wide Section 508 Accessibility Program](https://www.access-board.gov/the-board/laws/rehabilitation-act-of-1973#508)
78+
* [WAI-ARIA Authoring Practices](https://www.w3.org/TR/wai-aria-practices/)
79+
* [Accessibility Swatch for Kendo UI for Vue](slug:themes_swatch_accessibility)
Loading

docs/changelog/styling/_meta.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
title: Styling & Themes
2+
position: 20
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
title: TypeScript Integration
2+
position: 1000
3+
category: common
Loading

0 commit comments

Comments
 (0)