WPT
wpt / html / interaction / focus / sequential-focus-navigation-and-the-tabindex-attribute / tabindex-getter.html
Spec: HTML ↗
Runs: Chrome 155.0.8043.0 (wpt@b89af32bc, 2026-09-05) | Firefox 157.0a1 (wpt@b89af32bc, 2026-09-05) | Safari 251 preview (wpt@b89af32bc, 2026-09-05) | Ladybird 1.0-2f9d9 (wpt@b89af32bc, 2026-09-06) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 120/120 | 120/120 | 120/120 | 119/120 | 119/120 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| input.tabIndex should return 0 by default | PASS | PASS | PASS | PASS | PASS | — |
| input.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| input.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| input.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| input[type='hidden'].tabIndex should return 0 by default | PASS | PASS | PASS | PASS | PASS | — |
| input[type='hidden'].tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| input[type='hidden'].tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| input[type='hidden'].tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| button.tabIndex should return 0 by default | PASS | PASS | PASS | PASS | PASS | — |
| button.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| button.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| button.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| button[disabled].tabIndex should return 0 by default | PASS | PASS | PASS | PASS | PASS | — |
| button[disabled].tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| button[disabled].tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| button[disabled].tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| button[hidden].tabIndex should return 0 by default | PASS | PASS | PASS | PASS | PASS | — |
| button[hidden].tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| button[hidden].tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| button[hidden].tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| a.tabIndex should return 0 by default | PASS | PASS | PASS | PASS | PASS | — |
| a.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| a.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| a.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| a[href].tabIndex should return 0 by default | PASS | PASS | PASS | PASS | PASS | — |
| a[href].tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| a[href].tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| a[href].tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| svg a.tabIndex should return 0 by default | PASS | PASS | PASS | PASS | FAIL | — |
| svg a.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| svg a.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| svg a.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| textarea.tabIndex should return 0 by default | PASS | PASS | PASS | PASS | PASS | — |
| textarea.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| textarea.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| textarea.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| select.tabIndex should return 0 by default | PASS | PASS | PASS | PASS | PASS | — |
| select.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| select.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| select.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| select[multiple].tabIndex should return 0 by default | PASS | PASS | PASS | PASS | PASS | — |
| select[multiple].tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| select[multiple].tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| select[multiple].tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| option.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| option.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| option.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| option.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| optgroup.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| optgroup.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| optgroup.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| optgroup.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| iframe.tabIndex should return 0 by default | PASS | PASS | PASS | PASS | PASS | — |
| iframe.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| iframe.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| iframe.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| embed.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| embed.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| embed.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| embed.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| object.tabIndex should return 0 by default | PASS | PASS | PASS | PASS | PASS | — |
| object.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| object.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| object.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| span.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| span.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| span.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| span.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| div.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| div.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| div.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| div.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| link#nohref.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| link#nohref.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| link#nohref.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| link#nohref.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| link[href].tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| link[href].tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| link[href].tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| link[href].tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| details.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| details.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| details.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| details.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| summary.tabIndex should return 0 by default | PASS | PASS | PASS | FAIL | PASS | — |
| summary.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| summary.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| summary.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| summary#secondsummary.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| summary#secondsummary.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| summary#secondsummary.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| summary#secondsummary.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| #hostDelegatesFocus.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| #hostDelegatesFocus.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| #hostDelegatesFocus.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| #hostDelegatesFocus.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| #hostNonDelegatesFocus.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| #hostNonDelegatesFocus.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| #hostNonDelegatesFocus.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| #hostNonDelegatesFocus.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| div[contenteditable].tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| div[contenteditable].tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| div[contenteditable].tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| div[contenteditable].tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| #scrollable.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| #scrollable.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| #scrollable.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| #scrollable.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| fieldset.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| fieldset.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| fieldset.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| fieldset.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| output.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| output.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| output.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| output.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |
| slot.tabIndex should return -1 by default | PASS | PASS | PASS | PASS | PASS | — |
| slot.tabIndex should return -1 when set to -1 | PASS | PASS | PASS | PASS | PASS | — |
| slot.tabIndex should return 0 when set to 0 | PASS | PASS | PASS | PASS | PASS | — |
| slot.tabIndex should return 1 when set to 1 | PASS | PASS | PASS | PASS | PASS | — |