Вышел MathJax версии 3.1.4 с доработками специальных возможностей

Дата:02.05.2021
Источник:MathJax
Поделиться в Twitter Поделиться в Facebook Поделиться в VKontakte Поделиться в Telegram

Состоялся релиз MathJax версии 3.1.3 и экстренного исправления для серверного использования 3.1.4. Это JavaScript-движок для кроссбраузерного отображения математического контента на веб-страницах со встроенной поддержкой вспомогательных технологий, в том числе ориентированных на обеспечение доступности для незрячих.

Среди основных нововведений специальных возможностей в MathJax 3.1.3/3.1.4 выделяются:

  1. Движок Speech Rule обновлён до версии 3.2.0, вследствие чего получил следующие нововведения:
    1. Включена полная итальянская локализация наборов правил MathSpeak и ClearSpeak.
    2. Выполнена частичная переработка системы правил речи, а именно:
      • Насколько возможно уменьшены дизъюнктивные предварительные условия. Обработка этого с помощью структуры индексации ускоряет процессинг.
      • Новая и улучшенная эвристика для степеней и акцентов, обработки сопоставлений, именованных и простых функций.
      • Исправлены некоторые странности в наборах правил MathSpeak для английского языка, а именно:
        • Тильда сверху и снизу, а также черта сверху и снизу.
        • Интеграл теперь обрабатывается аналогично сумме и другим большим операторам.
      • Реализованы дополнения к ClearSpeak для обработки зачёркнутых и вложенных выражений.
      • Наборы правил речи не загружаются динамически вместе с переводами названий символов Unicode.
      • Теперь обязательно ожидается загрузка правил с использованием engineReady.
      • Для загрузки локальных наборов правил и сокращения дерева правил добавлена возможность, когда файлы и параметры обрезки могут быть переданы в интерфейс командной строки и библиотеку браузера.
      (Полностью переработка системы правил речи будет завершена после того, как движок перейдёт на TypeScript.)
    3. Улучшена поддержка кода Немета, а именно:
      • Улучшен перевод в отношении английских символов со шрифтами и дословного перевода функций и единиц.
      • Реализована гибкая загрузка специально расшифровываемых символов.
      • Множество других исправлений.
    4. Реализованы семантические улучшения, а именно:
      • Чёткое разделение выбираемых семантических эвристик.
      • Представлена новая эвристика: сложное сопоставление, комбинация нескольких операторов, обнаружение префиксных функций.
      • Явная обработка больших интервалов.
      • Распознавание mglyph-элементов.
      • Отображение ссылок и глифов как изображений.
    5. Полностью удалено кеширование вычисляемой речи. С версии v1.0.0 до v3.1.1 движок Speech Rule использовал рекурсивно вычисляемое кэширование речи, которое можно было использовать повторно, когда речь генерируется рекурсивно. Эта функция редко используется на практике. Более того, это было подвержено ошибкам и мешало будущим планам использовать большее распараллеливание.
  2. Параметры, управляющие Speech Rule, были отделены от других вспомогательных параметров, поэтому их можно настраивать независимо (см. документацию).
  3. Добавлена поддержка перехвата и сообщения об ошибках Speech Rule (см. документацию).
  4. Устранена проблема, из-за которой не удавалось настроить enableEnrich и другие параметры специальных возможностей.
  5. Теперь сбрасываются текстовые метки и идентификаторы, когда слой специальных возможностей изменяет принудительную повторную визуализацию.
  6. Удалены атрибуты role="presentation".

Следует отметить, что некоторые из изменений, внесённых в параметры для адаптации обновлённого движка Speech Rule, потенциально могут нарушить совместимость со следующим обновлением, поскольку предыдущие параметры (enrichSpeech, a11y.locale, a11y.speechRules) больше не являются допустимыми. Дело в том, что MathJax помечает недопустимые параметры и прекращает обработку при обнаружении одного из них, это означает, что любые конфигурации, в которых использовались старые параметры, больше не будут работать. Версия 3.1.3/3.1.4 включает код для обработки старых параметров, но этот код будет удалён в версии 3.2. Это даёт авторам страниц возможность исправить проблему до того, как будет выпущена версия MathJax 3.2, и их страницы сломаются.

Версия 3.2 также будет включать и другие критические изменения, не имеющие отношения к специальным возможностям, поэтому разработчикам и авторам страниц следует тщательно подготовиться к следующему обновлению MathJax, внимательно изучив документацию.

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


Метки


Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2021