diff --git a/unpacked/MathJax.js b/unpacked/MathJax.js index 4f0668536..e2db6defb 100644 --- a/unpacked/MathJax.js +++ b/unpacked/MathJax.js @@ -2354,18 +2354,26 @@ MathJax.Hub = { // var errorSettings = this.config.errorSettings; var errorText = LOCALIZE(errorSettings.messageId,errorSettings.message); - var error = MathJax.HTML.Element("span", - {className:"MathJax_Error", jaxID:"Error", isMathJax:true},errorText); + var error = MathJax.HTML.Element("span", { + className:"MathJax_Error", jaxID:"Error", isMathJax:true, + id: script.MathJax.error.inputID+"-Frame" + },errorText); // // Attach the menu events // if (MathJax.Extension.MathEvents) { - error.oncontextmenu = MathJax.Extension.MathEvents.Event.Menu; - error.onmousedown = MathJax.Extension.MathEvents.Event.Mousedown; + var EVENT = MathJax.Extension.MathEvents.Event; + error.oncontextmenu = EVENT.Menu; + error.onmousedown = EVENT.Mousedown; + error.onkeydown = EVENT.Keydown; + error.tabIndex = 0; } else { MathJax.Ajax.Require("[MathJax]/extensions/MathEvents.js",function () { - error.oncontextmenu = MathJax.Extension.MathEvents.Event.Menu; - error.onmousedown = MathJax.Extension.MathEvents.Event.Mousedown; + var EVENT = MathJax.Extension.MathEvents.Event; + error.oncontextmenu = EVENT.Menu; + error.onmousedown = EVENT.Mousedown; + error.keydown = EVENT.Keydown; + error.tabIndex = 0; }); } // @@ -3036,15 +3044,17 @@ MathJax.Hub.Startup = { // Some "Fake" jax used to allow menu access for "Math Processing Error" messages // BASE.OutputJax.Error = { - id: "Error", version: "2.5.0", config: {}, + id: "Error", version: "2.5.0", config: {}, errors: 0, ContextMenu: function () {return BASE.Extension.MathEvents.Event.ContextMenu.apply(BASE.Extension.MathEvents.Event,arguments)}, Mousedown: function () {return BASE.Extension.MathEvents.Event.AltContextMenu.apply(BASE.Extension.MathEvents.Event,arguments)}, getJaxFromMath: function (math) {return (math.nextSibling.MathJax||{}).error}, Jax: function (text,script) { var jax = MathJax.Hub.inputJax[script.type.replace(/ *;(.|\s)*/,"")]; + this.errors++; return { inputJax: (jax||{id:"Error"}).id, // Use Error InputJax as fallback outputJax: "Error", + inputID: "MathJax-Error-"+this.errors, sourceMenuTitle: /*_(MathMenu)*/ ["ErrorMessage","Error Message"], sourceMenuFormat: "Error", originalText: MathJax.HTML.getScript(script),