Export test_math_tabindex_focus.html mochitest to WPT.
Differential Revision: https://phabricator.services.mozilla.com/D203778
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1883929
gecko-commit: 34815ceebcd7431f4e5730eb227705e1f1afd44f
gecko-reviewers: emilio
diff --git a/mathml/relations/html5-tree/tabindex-focus-001.tentative.html b/mathml/relations/html5-tree/tabindex-focus-001.tentative.html
new file mode 100644
index 0000000..2ea0390
--- /dev/null
+++ b/mathml/relations/html5-tree/tabindex-focus-001.tentative.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML>
+<title>Invalid tabindex</title>
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1128054">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<!-- Test default focusability -->
+<math></math>
+<math href="#" data-focusable=true></math>
+<!-- Test tabindex=0 focusability -->
+<math tabindex="0" data-focusable=true></math>
+<!-- Test tabindex=-1 focusability -->
+<math tabindex="-1" data-focusable=true></math>
+<!-- Test tabindex=invalid focusability -->
+<math tabindex="invalid"></math>
+<math href="#" tabindex="invalid" data-focusable=true></math>
+
+<script>
+ test(() => {
+ for (let element of document.querySelectorAll("math")) {
+ let focusable = element.dataset && element.dataset.focusable;
+ let desc = "<math";
+ for (let attr of ["href", "tabindex"]) {
+ if (element.hasAttribute(attr)) {
+ desc += ` ${attr}=${element.getAttribute(attr)}`;
+ }
+ }
+ desc += ">";
+ element.focus();
+ focusable ? assert_equals(document.activeElement, element, desc + " should be focusable")
+ : assert_not_equals(document.activeElement, element, desc + " should not be focusable");
+ }
+ }, "invalid tabindex attribute does not make the element focusable");
+</script>