- 
					Chrome 84on Windows 10 98.5% 
- 
					Edge 80on Windows 10 100% 
- 
					Firefox 80on Windows 10 94% 
- 
					Internet Explorer 11on Windows 10 56% 
- 
					Safari 13on Mac OS 97% 
This site tests which newish HTML5 features are accessibly supported by major browsers. This includes if they are keyboard accessible, mapped to the platform accessibility APIs, and if any accessibility related features are supported. An accessibly supported feature means it is usable by people who rely on assistive technology, without developers having to supplement with ARIA or other additional workarounds. Read What does acessibility supported mean for a comprehensive understanding of how to interpret these findings.
Feature Support
Sections & Grouping
| Element | Criteria | Chrome/Opera | Edge | Firefox | IE | Safari | 
|---|---|---|---|---|---|---|
| article | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | partial | yes | ||
| section | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | partial | yes | ||
| nav | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | partial | yes | ||
| aside | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | partial | yes | ||
| header | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | partial | Yes | ||
| footer | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | partial | yes | ||
| figure | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | partial | yes | ||
| figcaption | Accessibly supported | yes | yes | yes | no | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| main | Accessibly supported | yes | yes | yes | not implemented | yes | 
| Feature implemented | yes | yes | yes | no | yes | |
| Mapped | yes | yes | yes | n/a | yes | |
| Name/Description | yes | yes | n/a | yes | 
Text-level
| Element | Criteria | Chrome/Opera | Edge | Firefox | IE | Safari | 
|---|---|---|---|---|---|---|
| time | Accessibly supported | yes | yes | yes | not implemented | yes | 
| Feature implemented | yes | yes | yes | no | yes | |
| Mapped | yes | yes | yes | n/a | yes | |
| Name/Description | yes | yes | yes | n/a | yes | |
| mark | Accessibly supported | yes | yes | yes | yes | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | yes | partial | yes | 
Graphics & Media
| Element | Criteria | Chrome/Opera | Edge | Firefox | IE | Safari | 
|---|---|---|---|---|---|---|
| canvas | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| drawFocusIfNeeded() | yes | yes | yes | no | yes | |
| Mapped | yes | yes | yes | no | yes | |
| sub-DOM | yes | yes | yes | yes | yes | |
| audio | Accessibly supported | yes | yes | partial | yes | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | yes | yes | |
| Keyboard | yes | yes | no | yes | yes | |
| video | Accessibly supported | yes | yes | partial | yes | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | yes | yes | |
| Keyboard | yes | yes | no | yes | yes | |
| track | Accessibly supported | yes | yes | yes | yes | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| WebVTT or TTML | yes | yes | yes | yes | yes | 
Controls
| Element | Criteria | Chrome/Opera | Edge | Firefox | IE | Safari | 
|---|---|---|---|---|---|---|
| searchinput | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | partial | yes | ||
| telinput | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | partial | yes | ||
| urlinput | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | partial | yes | ||
| Error state mapped | yes | yes | no | yes | ||
| emailinput | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | yes | yes | yes | |
| Error state mapped | yes | yes | yes | no | yes | |
| datetime-localinput | Accessibly supported | yes | yes | not implemented | not implemented | not implemented | 
| Feature implemented | yes | yes | no | no | no | |
| Mapped | yes | yes | n/a | n/a | n/a | |
| Name/Description | yes | yes | n/a | n/a | n/a | |
| Keyboard | yes | yes | n/a | n/a | n/a | |
| dateinput | Accessibly supported | yes | yes | yes | not implemented | not implemented | 
| Feature implemented | yes | yes | yes | no | no | |
| Mapped | yes | yes | yes | n/a | n/a | |
| Name/Description | yes | yes | yes | n/a | n/a | |
| Keyboard | yes | yes | yes | n/a | n/a | |
| monthinput | Accessibly supported | yes | yes | not implemented | not implemented | not implemented | 
| Feature implemented | yes | yes | no | no | no | |
| Mapped | yes | yes | n/a | n/a | n/a | |
| Name/Description | yes | yes | n/a | n/a | n/a | |
| Keyboard | yes | yes | n/a | n/a | n/a | |
| weekinput | Accessibly supported | yes | yes | not implemented | not implemented | not implemented | 
| Feature implemented | yes | yes | no | no | no | |
| Mapped | yes | yes | n/a | n/a | n/a | |
| Name/Description | yes | yes | n/a | n/a | n/a | |
| Keyboard | yes | yes | n/a | n/a | n/a | |
| timeinput | Accessibly supported | yes | yes | yes | not implemented | not implemented | 
| Feature implemented | yes | yes | yes | no | no | |
| Mapped | yes | yes | yes | n/a | n/a | |
| Name/Description | yes | yes | yes | n/a | n/a | |
| Keyboard | yes | yes | yes | n/a | n/a | |
| numberinput | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | yes | partial | yes | |
| Error state mapped | yes | yes | yes | no | yes | |
| Keyboard | yes | yes | yes | yes | yes | |
| rangeinput | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | yes | yes | |
| Name/Description | yes | yes | partial | yes | ||
| Keyboard | yes | yes | yes | yes | yes | |
| colorinput | Accessibly supported | yes | yes | partial | not implemented | no | 
| Feature implemented | yes | yes | yes | no | yes | |
| Mapped | yes | yes | partial | n/a | yes | |
| Name/Description | yes | yes | yes | n/a | partial | |
| Keyboard | yes | yes | yes | n/a | no | |
| datalist | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | no | |
| Mapped | yes | yes | yes | partial | yes | |
| Keyboard | yes | yes | yes | yes | yes | |
| output | Accessibly supported | yes | yes | yes | not implemented | yes | 
| Feature implemented | yes | yes | yes | no | yes | |
| Mapped | yes | yes | yes | n/a | yes | |
| Name/Description | yes | yes | yes | n/a | yes | |
| progress | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | partial | yes | |
| Name/Description | yes | yes | partial | partial | ||
| meter | Accessibly supported | partial | yes | partial | not implemented | yes | 
| Feature implemented | yes | yes | yes | no | yes | |
| Mapped | partial | yes | partial | n/a | yes | |
| Name/Description | yes | yes | yes | n/a | yes | |
| details | Accessibly supported | yes | yes | yes | not implemented | yes | 
| Feature implemented | yes | yes | yes | no | yes | |
| Mapped | yes | yes | yes | n/a | yes | |
| Keyboard | yes | yes | yes | n/a | yes | |
| summary | Accessibly supported | yes | yes | yes | not implemented | yes | 
| Feature implemented | yes | yes | yes | no | yes | |
| Mapped | yes | yes | yes | n/a | yes | |
| Name/Description | yes | yes | yes | n/a | yes | |
| Keyboard | yes | yes | yes | n/a | yes | |
| dialog | Accessibly supported | yes | yes | not implemented | not implemented | not implemented | 
| Feature implemented | yes | yes | no | no | no | |
| Mapped | yes | yes | n/a | n/a | n/a | |
| Keyboard | yes | yes | n/a | n/a | n/a | 
Properties
| Attribute | Criteria | Chrome/Opera | Edge | Firefox | IE | Safari | 
|---|---|---|---|---|---|---|
| hidden | Accessibly supported | yes | yes | yes | yes | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | yes | yes | |
| required | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | yes | yes | |
| Error state mapped | yes | yes | yes | no | yes | |
| placeholder | Accessibly supported | yes | yes | yes | partial | yes | 
| Feature implemented | yes | yes | yes | yes | yes | |
| Mapped | yes | yes | yes | no | yes | |
| Name/Description | yes | yes | partial | partial | yes | 
How to Test
Each feature has its own test page, including the pass criteria, and spec references for the required mapping from HTML feature to the platform accessibility layer.
Browser support for a feature is automatically detected. This checks to see if the browser claims it supports the feature via object detection, not if it is fully supported correctly. If a feature is not supported, it is excluded from the scoring.
If a feature is supported, the next step is to test if it is correctly mapped to the platform accessibility layer. This must be tested manually. This can be done with one of the tools listed at the end of this section.
To be accessibly supported, elements that represent interactive controls must be fully keyboard accessible. Actions that must be able to be performed are listed in the test file, but shortcuts may be different between browsers and platforms.
