« не работает со специальными возможностями проводника

#mathjax #mathml

#mathjax #mathml

Вопрос:

Когда активирован проводник специальных возможностей, перевод строки MathML, <mspace linebreak="newline" /> , не будет работать.

Шаги для воспроизведения:

  1. Открыть https://jsbin.com/sajujukiwe/1/edit?html ,js, вывод
  2. Проверьте, как отображается математическое выражение, присвоив explorer свойству accessibility значение false и true .

Когда explorer установлено значение false, произойдет разрыв строки, чего я и хочу, но мне также нужна функция специальных возможностей.

Ответ №1:

Я нашел обходной путь здесь,https://github.com/mathjax/MathJax/issues/2496#issuecomment-675626155.

Проблема, оказывается, в расширении a11y, которое обрабатывает сворачиваемые элементы в математике. Когда сворачивание происходит в содержимом элемента верхнего уровня, дерево MathML перестраивается не совсем правильно, и это отключает разрыв строки. Я внес исправление в репозиторий a11y, и оно будет включено в следующий выпуск версии v2. Тем временем вы можете использовать

   <script type="text/x-mathjax-config">
  (function () {
    var V = MathJax.version.split(/./);
    if (V[0] === "2" amp;amp; (parseInt(V[1]) < 7 || (V[1] === "7" amp;amp; parseInt(V[2]) <= 8))) {
      MathJax.Hub.Register.StartupHook("Collapsible Ready", function () {
        var Collapsible = MathJax.Extension.collapsible;
        Collapsible._MakeAction = Collapsible.MakeAction;
        Collapsible.MakeAction = function (collapse, mml) {
          if (mml.type !== 'math') return this._MakeAction(collapse, mml);
          var mrow = mml.data[0]; mml.data = mrow.data; mrow.data = [];
          var maction = this._MakeAction(collapse, mml);
          mrow.data = mml.data; mml.data = [mrow];
          return maction;
        };
      });
    }
  })();
  </script>
  

непосредственно перед загрузкой скрипта MathJax.js сам по себе, чтобы исправить
проблема до тех пор, пока не будет доступна новая версия. При этом проверяется версия
число, поэтому исправление повлияет только на версию 2.7.8 и ниже.