From 7df65c9d7a9d6b7e302534b33614f9c1c3c89bbd Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Fri, 5 Feb 2016 18:20:41 -0500 Subject: [PATCH] Fix inTabOrder menu action, change default, and factor out code for setting/unsetting the tab index (in case the page author wants to call it. --- unpacked/MathJax.js | 2 +- unpacked/extensions/MathMenu.js | 43 ++++++++++++++++++++------------- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/unpacked/MathJax.js b/unpacked/MathJax.js index f589243e4..d8ff07460 100644 --- a/unpacked/MathJax.js +++ b/unpacked/MathJax.js @@ -1896,7 +1896,7 @@ MathJax.Hub = { mpContext: false, // true means pass menu events to MathPlayer in IE mpMouse: false, // true means pass mouse events to MathPlayer in IE texHints: true, // include class names for TeXAtom elements - inTabOrder: false, // set to false if math elements should be included in the tabindex + inTabOrder: true, // set to false if math elements should be included in the tabindex semantics: false // add semantics tag with original form in MathML output }, diff --git a/unpacked/extensions/MathMenu.js b/unpacked/extensions/MathMenu.js index 23c8bfec6..ba8ce1f39 100644 --- a/unpacked/extensions/MathMenu.js +++ b/unpacked/extensions/MathMenu.js @@ -544,26 +544,12 @@ MENU.FocusNode(menu); }, Activate: function(event, menu) { - var jaxs = MENU.AllNodes(); - for (var j = 0, jax; jax = jaxs[j]; j++) { - if (jax.tabIndex > 0) { - jax.oldTabIndex = jax.tabIndex; - } - jax.tabIndex = -1; - } + MENU.UnsetTabIndex(); MENU.posted = true; }, Unfocus: function() { MENU.ActiveNode().tabIndex = -1; - var jaxs = MENU.AllNodes(); - for (var j = 0, jax; jax = jaxs[j]; j++) { - if (jax.oldTabIndex !== undefined) { - jax.tabIndex = jax.oldTabIndex - delete jax.oldTabIndex; - } else { - jax.tabIndex = HUB.getTabOrder(); - } - } + MENU.SetTabIndex(); MENU.FocusNode(MENU.CurrentNode()); MENU.posted = false; }, @@ -585,6 +571,26 @@ Left: function(event, menu) { MENU.MoveHorizontal(event, menu, function(x) {return x - 1;}); }, + UnsetTabIndex: function () { + var jaxs = MENU.AllNodes(); + for (var j = 0, jax; jax = jaxs[j]; j++) { + if (jax.tabIndex > 0) { + jax.oldTabIndex = jax.tabIndex; + } + jax.tabIndex = -1; + } + }, + SetTabIndex: function () { + var jaxs = MENU.AllNodes(); + for (var j = 0, jax; jax = jaxs[j]; j++) { + if (jax.oldTabIndex !== undefined) { + jax.tabIndex = jax.oldTabIndex + delete jax.oldTabIndex; + } else { + jax.tabIndex = HUB.getTabOrder(); + } + } + }, //TODO: Move to utility class. // Computes a mod n. @@ -1336,6 +1342,9 @@ } }; + /* + * Toggle assistive MML settings + */ MENU.AssistiveMML = function (item,restart) { var AMML = MathJax.Extension.AssistiveMML; if (!AMML) { @@ -1543,7 +1552,7 @@ ITEM.RULE(), ITEM.CHECKBOX("Fast Preview", "FastPreview"), ITEM.CHECKBOX("Assistive MathML", "assistiveMML", {action:MENU.AssistiveMML}), - ITEM.CHECKBOX("Include in Tab Order", "inTabOrder", {action:CONFIG.inTabOrder}) + ITEM.CHECKBOX("Include in Tab Order", "inTabOrder") ), ITEM.SUBMENU("MathPlayer", {hidden:!HUB.Browser.isMSIE || !CONFIG.showMathPlayer, disabled:!HUB.Browser.hasMathPlayer},