Focusable Elements - ally.js Compatibility Table

The following tables show the differences between what browsers consider focusable and what ally.js identifies using ally.is.focusable, ally.is.tabbable, ally.is.onlyTabbable and ally.get.focusRedirectTarget.

Note that touch devices (without a physical keyboard) only show elements as tabbable (keyboard focusable), that can be navigated to through the on-screen keyboard (or "virtual keyboard").

Document Elements
Element Chrome Microsoft Edge Firefox IE Opera Safari WebKit Nightly Chrome Mobile (Android) Safari (iOS)
55.0 57.0 12.10240 13.10586 14.14393 15.14951 50.0 53.0 9.0 10.0 11.0 42.0 8.0 9.1 10.0 604.1 55.0 10.0
<html>
2 1
inert
-1
inert
-1
inert
0
inert
0
inert
0
inert
0
focusable inert
-1 E S
focusable inert
-1 E S
tabbable inert
0
tabbable inert
0
tabbable inert
0
inert
-1
inert
-1
inert
-1
inert
-1
inert
-1
inert
-1
inert
-1
<body>
3 1
focusable inert
-1 E S
focusable inert
-1 E S
focusable inert
0 E S
focusable inert
0 E S
focusable inert
0 E S
focusable inert
0 E S
focusable inert
-1 E S
focusable inert
-1 E S
tabbable inert
0 E
tabbable inert
0
tabbable inert
0 E
focusable inert
-1 E S
focusable inert
-1 E S
focusable inert
-1 E S
focusable inert
-1 E S
focusable inert
-1 E S
focusable inert
-1 E S
focusable inert
-1 E S
Label Element
Element Chrome Microsoft Edge Firefox IE Opera Safari WebKit Nightly Chrome Mobile (Android) Safari (iOS)
55.0 57.0 12.10240 13.10586 14.14393 15.14951 50.0 53.0 9.0 10.0 11.0 42.0 8.0 9.1 10.0 604.1 55.0 10.0
<label for=""> with <input id="">
6
redirecting
-1 T
redirecting
-1 T
inert redirecting
0
inert redirecting
0
inert redirecting
0
inert redirecting
0
redirecting
-1 T
redirecting
-1 T
inert redirecting
0 7
inert redirecting
0 7
inert redirecting
0 7
redirecting
-1 T
redirecting
-1 T
redirecting
-1 T
redirecting
-1 T
redirecting
-1 T
redirecting
-1 T
redirecting
-1 T
<label> with nested <input>
6
redirecting
-1 T
redirecting
-1 T
inert redirecting
0
inert redirecting
0
inert redirecting
0
inert redirecting
0
redirecting
-1 T
redirecting
-1 T
inert redirecting
0 7
inert redirecting
0 7
inert redirecting
0 7
redirecting
-1 T
redirecting
-1 T
redirecting
-1 T
redirecting
-1 T
redirecting
-1 T
redirecting
-1 T
redirecting
-1 T
Image Maps
Element Chrome Microsoft Edge Firefox IE Opera Safari WebKit Nightly Chrome Mobile (Android) Safari (iOS)
55.0 57.0 12.10240 13.10586 14.14393 15.14951 50.0 53.0 9.0 10.0 11.0 42.0 8.0 9.1 10.0 604.1 55.0 10.0
<input> between <img usemap="#map"> and <img usemap="#map">
51
tabbable
0
tabbable
0
tabbable
0
tabbable
0
tabbable
0
tabbable
0
focusable tabbable
0 50
focusable tabbable
0 50
tabbable
0
tabbable
0
tabbable
0
tabbable
0
tabbable
0
tabbable
0
tabbable
0
tabbable
0
focusable
0
tabbable
0
<area> child of <map name="#…"> with <object type="image/png" usemap="#…">
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
focusable inert
0 R
focusable inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
<area href=""> with <object type="image/png" usemap="#…" >
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
focusable inert
0 R
focusable inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
inert
0 R
Media Elements
Element Chrome Microsoft Edge Firefox IE Opera Safari WebKit Nightly Chrome Mobile (Android) Safari (iOS)
55.0 57.0 12.10240 13.10586 14.14393 15.14951 50.0 53.0 9.0 10.0 11.0 42.0 8.0 9.1 10.0 604.1 55.0 10.0
<audio controls tabindex="-1">
tabbable
-1
tabbable
-1
focusable
-1
focusable
-1
focusable
-1
focusable
-1
focusable
-1
tabbable focusable
-1
focusable
-1
focusable
-1
focusable
-1
tabbable
-1
focusable
-1
focusable
-1
focusable
-1
focusable
-1
focusable
-1
focusable
-1
Iframe Element
Element Chrome Microsoft Edge Firefox IE Opera Safari WebKit Nightly Chrome Mobile (Android) Safari (iOS)
55.0 57.0 12.10240 13.10586 14.14393 15.14951 50.0 53.0 9.0 10.0 11.0 42.0 8.0 9.1 10.0 604.1 55.0 10.0
<iframe src=""> without focusable content
21 22
tabbable focusable
0 S
tabbable focusable
0 S
focusable
0
focusable
0
focusable
0
focusable
0
tabbable focusable
0 E S C
tabbable focusable
0 E S C
focusable
0 C
focusable
0 C
focusable
0 C
tabbable focusable
0 S
tabbable focusable
0 S
tabbable focusable
0 S
tabbable focusable
0 S
tabbable focusable
0 S
focusable
0 S
focusable
0 S
<iframe src=""> with SVG document
21 22
focusable
0 S C
focusable
0 S C
focusable
0 C
focusable
0 C
focusable
0 C
focusable
0 C
tabbable focusable
0 E S C
focusable
0 E S C
focusable
0 C
focusable
0 C
focusable
0 C
focusable
0 S C
focusable
0 S C
focusable
0 S C
focusable
0 S C
focusable
0 S C
focusable
0 S C
focusable
0 S C
<html> and <body> in <iframe>
21 22
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
Embed Element
Element Chrome Microsoft Edge Firefox IE Opera Safari WebKit Nightly Chrome Mobile (Android) Safari (iOS)
55.0 57.0 12.10240 13.10586 14.14393 15.14951 50.0 53.0 9.0 10.0 11.0 42.0 8.0 9.1 10.0 604.1 55.0 10.0
<embed>
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
Object Element
Element Chrome Microsoft Edge Firefox IE Opera Safari WebKit Nightly Chrome Mobile (Android) Safari (iOS)
55.0 57.0 12.10240 13.10586 14.14393 15.14951 50.0 53.0 9.0 10.0 11.0 42.0 8.0 9.1 10.0 604.1 55.0 10.0
<object type="application/x-shockwave-flash" data="">
32
focusable
0
focusable
0
tabbable
0
tabbable
0
tabbable
0
tabbable
0
focusable
-1
focusable
-1
inert
0
focusable tabbable
0 33
tabbable
0
focusable
0
focusable
0
focusable
0
focusable
0
focusable
0
focusable
0
focusable
0
<object type="application/x-shockwave-flash" data="" tabindex="0">
32
focusable
0
focusable
0
tabbable
0
tabbable
0
tabbable
0
tabbable
0
tabbable
0
tabbable
0
inert
0
focusable tabbable
0 33
tabbable
0
focusable
0
focusable
0
focusable
0
focusable
0
focusable
0
focusable
0
focusable
0
<object type="image/svg+xml" data="">
32
focusable
0 C
focusable
0 C
inert host inert
0 C
inert host inert
0 C
inert host inert
0 C
inert host inert
0 C
tabbable
0 E S C
focusable tabbable
0 E S C
inert host inert
0 C
inert host inert
0 C
inert host inert
0 C
focusable
0 C
focusable
0 C
focusable
0 C
focusable
0 C
focusable
0 C
focusable
0 C
focusable
0 C
<object type="image/svg+xml" data="" tabindex="0">
32
focusable
0 C
focusable
0 C
inert host inert
0 C
inert host inert
0 C
inert host inert
0 C
inert host inert
0 C
tabbable
0 E S C
focusable tabbable
0 E S C
inert host inert
0 C
inert host inert
0 C
inert host inert
0 C
focusable
0 C
focusable
0 C
focusable
0 C
focusable
0 C
focusable
0 C
focusable
0 C
focusable
0 C
SVG Element
Element Chrome Microsoft Edge Firefox IE Opera Safari WebKit Nightly Chrome Mobile (Android) Safari (iOS)
55.0 57.0 12.10240 13.10586 14.14393 15.14951 50.0 53.0 9.0 10.0 11.0 42.0 8.0 9.1 10.0 604.1 55.0 10.0
<rect onfocus="">
34 41 42
tabbable inert
0 40
tabbable inert
0 40
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
-1
inert
null M
inert
null M
inert
null M
tabbable inert
0 40
tabbable inert
0 40
tabbable inert
0 40
tabbable inert
0
tabbable inert
0 40
focusable inert
0 40
focusable inert
0
SVG use element
Element Chrome Microsoft Edge Firefox IE Opera Safari WebKit Nightly Chrome Mobile (Android) Safari (iOS)
55.0 57.0 12.10240 13.10586 14.14393 15.14951 50.0 53.0 9.0 10.0 11.0 42.0 8.0 9.1 10.0 604.1 55.0 10.0
<use> referencing focusable content
39
only tabbable inert
-1 S 37
only tabbable inert
-1 S 37
inert
null M 73
inert
null M
inert
null M
inert
null M
inert
null M
inert
-1
inert
null M
inert
null M
inert
null M
only tabbable inert
-1 S
inert
-1 38
only tabbable inert
-1 S
only tabbable inert
-1 S
only tabbable inert
-1 S
inert
-1
inert
-1
SVG Document in Iframe Element
Element Chrome Microsoft Edge Firefox IE Opera Safari WebKit Nightly Chrome Mobile (Android) Safari (iOS)
55.0 57.0 12.10240 13.10586 14.14393 15.14951 50.0 53.0 9.0 10.0 11.0 42.0 8.0 9.1 10.0 604.1 55.0 10.0
<svg> within <iframe>
21 21
inert
-1 R
inert
-1 R
tabbable
null M T R
tabbable
null M T R
only tabbable inert
null M E S T R
only tabbable inert
null M E S T R
inert
null M T R
tabbable
-1 E S T R
tabbable
null M T R
tabbable
null M T R
tabbable
null M T R
inert
-1 R
inert
-1 R
inert
-1 R
inert
-1 R
inert
-1 R
inert
-1 R
inert
-1 R
SVG Document in Embed Element
Element Chrome Microsoft Edge Firefox IE Opera Safari WebKit Nightly Chrome Mobile (Android) Safari (iOS)
55.0 57.0 12.10240 13.10586 14.14393 15.14951 50.0 53.0 9.0 10.0 11.0 42.0 8.0 9.1 10.0 604.1 55.0 10.0
content in <embed>
23 24
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
SVG Document in Object Element
Element Chrome Microsoft Edge Firefox IE Opera Safari WebKit Nightly Chrome Mobile (Android) Safari (iOS)
55.0 57.0 12.10240 13.10586 14.14393 15.14951 50.0 53.0 9.0 10.0 11.0 42.0 8.0 9.1 10.0 604.1 55.0 10.0
<svg> within <object style="display: none">
inert
null M 73
inert
null M 73
inert
null M R
inert
null M R
inert
null M R
inert
null M R
inert
null M R
focusable inert
-1 E S R
inert
null M R
inert
null M R
inert
null M R
inert
null M 73
inert
null M 73
inert
null M 73
inert
null M 73
inert
null M 73
inert
null M 73
inert
null M 73
<svg> within <object style="visibility: hidden">
inert
-1 R
inert
-1 R
inert
null M R
inert
null M R
inert
null M R
inert
null M R
inert
null M R
focusable inert
-1 E S R
inert
null M R
inert
null M R
inert
null M R
inert
-1 R
inert
-1 R
inert
-1 R
inert
-1 R
inert
-1 R
inert
-1 R
inert
-1 R
<svg> within <object> within <details>
inert
null M 73
inert
null M 73
tabbable
null M T R
tabbable
null M T R
inert
null M T R
inert
null M T R
inert
null M R
focusable inert
-1 E S R
tabbable
null M T R
tabbable
null M T R
tabbable
null M T R
inert
null M 73
inert
null M 73
inert
null M 73
inert
null M 73
inert
null M 73
inert
null M 73
inert
null M 73
Questionable Elements
Element Chrome Microsoft Edge Firefox IE Opera Safari WebKit Nightly Chrome Mobile (Android) Safari (iOS)
55.0 57.0 12.10240 13.10586 14.14393 15.14951 50.0 53.0 9.0 10.0 11.0 42.0 8.0 9.1 10.0 604.1 55.0 10.0
<keygen >
53 54
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M 52
inert
null M 52
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M
inert
null M

Footnotes