Сделайте встроенную функцию масштабирования, запускающую реальную перекомпоновку макета (без горизонтальной прокрутки) нJavascript

Форум по Javascript
Ответить
Anonymous
 Сделайте встроенную функцию масштабирования, запускающую реальную перекомпоновку макета (без горизонтальной прокрутки) н

Сообщение Anonymous »

Мне нужно, чтобы собственный жест масштабирования в мобильных браузерах вел себя как настоящее масштабирование браузера: когда пользователь сводит пальцы, медиа-запросы должны пересчитываться, а макет должен перекомпоновываться. В то же время горизонтальная прокрутка должна оставаться отключенной (чтобы ширина области просмотра оставалась фиксированной).
Проблема, с которой я столкнулся:
  • В мобильных браузерах масштабирование рассматривается как лупа. Макет остается фиксированным; медиа-запросы не срабатывают.
  • Прослушивание VisualViewport.resize и ручное масштабирование элементов делает их больше, но по-прежнему вызывает горизонтальную прокрутку.
  • Я могу обойти это, установив html {position: fix; , перехват событий указателя, установка переменных CSS и принудительное перекомпонование. Однако я смогу заставить его работать, только если отключу вертикальную прокрутку (

    Код: Выделить всё

    overflow: hidden). В тот момент, когда я разрешаю вертикальную прокрутку, возвращается исходное поведение.
    
    [*]Чтобы сохранить настраиваемый масштаб, мне приходится блокировать сенсорное действие 
    на корневом элементе, что по сути отключает встроенное сжатие. Это похоже на нарушение специальных возможностей (WCAG 1.4.4).
    Итак, вопрос в следующем:
    Имеет ли смысл выпускать такое пользовательское масштабирование, если основная цель – сохранить доступность страницы? Существует ли какой-либо поддерживаемый способ инициировать реальную перекомпоновку макета, не нарушая встроенные жесты сжатия, или мне следует отказаться от этой идеи, поскольку она по своей сути противоречит требованиям доступности?
    />


Подробнее здесь: https://stackoverflow.com/questions/798 ... tal-scroll
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»