Один из наших пользователей попросил увеличить размер текста на нашем экземпляре. К счастью, это легко сделать лично для неё через настройки интерфейса (см. https://meta.discourse.org/my/preferences/interface).
Она сообщает, что на других сайтах и в приложениях есть возможность делать это автоматически, если на устройстве выбран крупный шрифт.
Раньше в Discourse тёмный режим можно было включить только вручную, но за последний год это изменилось: теперь он переключается автоматически (при правильной настройке). Было бы замечательно реализовать аналогичный механизм для размера текста. Более того, это гораздо важнее, так как людям с нарушениями зрения будет сложно найти настройку, если текст остаётся мелким.
Если вы измените размер шрифта в веб-браузере, Discourse должен масштабироваться так же, как и любой другой сайт… но похоже, что при изменении размера шрифта в операционной системе iOS это влияет только на размеры приложений и не обязательно на размер шрифта на веб-сайтах.
Если мы используем font: -apple-system-body;, мы также можем масштабироваться вместе с системой (Apple называет это Dynamic Type). Я думаю, что Android делает это автоматически, и никаких изменений не потребуется… но я перепроверю.
Это способ выбора уровня масштабирования по умолчанию для всех веб-сайтов в Safari на iOS от Apple:
Перейдите в Настройки → Safari → Настройки для веб-сайта → Масштаб страницы → Другие веб-сайты:
50/75/85/100/125/150/175/200/250/300%
По умолчанию использование font: -apple-system-body; только для сайтов на Discourse полностью отличается от широко используемого базового font-size: 15px для абзацев.
Теперь это создает особый случай для всех сайтов на Discourse: шрифт слишком большой.
И каждый пользователь должен установить специальный уровень масштабирования для доменов сайтов на Discourse, например, 85%.
Или, если пользователь уже установил более высокий уровень масштабирования в Safari, например, 150%, теперь ему нужно установить его, например, на 125% только для доменов Discourse.
Настоятельно рекомендую не внедрять это!
Пожалуйста, отмените слияние этого PR.
Пожалуйста, проверьте, что произойдет, если на iPhone с iOS настройка системного шрифта установлена примерно на 150%, а масштаб страницы в Safari — тоже на 150%:
Для обычных веб-сайтов это должно привести к 150%.
С новым изменением для Discourse font: -apple-system-body; это может привести к 225% (= 150% * 150%).
Насколько мне известно, Chrome на Android этого не делает: с помощью системных настроек масштабируется только интерфейс Chrome.
Для масштабирования размера шрифта веб-сайтов откройте Chrome и перейдите в Настройки → Специальные возможности → Масштаб текста.
Возможно, это зависит от устройства или версии Android? Это результат моего теста, когда шрифт системы был увеличен в настройках доступности. Никаких изменений в браузере не было:
Здесь масштабирован только абзац, заголовок и все остальные текстовые элементы остаются маленькими!
Это особое поведение Chrome, которое масштабирует только части текста — поищите «Font Boosting» или посмотрите:
Я замечаю некоторые непреднамеренные побочные эффекты теперь, когда это развернуто на Meta. Не совсем понятно, почему в моей среде разработки это работало иначе. Верну изменения и разберусь с этим подробнее… Вероятно, пока это сделать нельзя, так как это влияет на слишком много вещей, помимо размера шрифта.
В общем случае доступности:
Мне нравится идея оставить базовый шрифт для абзацев по умолчанию 16 пикселей, что установлено во всех браузерах как размер шрифта по умолчанию.
Это увеличит размер текста на 6–7 % (16 пикселей / 15 пикселей = 1,0666).
Для мобильных устройств, таких как телефоны и планшеты, это выглядит нормально. Для настольных компьютеров это будет немного слишком крупно и необычно.
Если мы последуем этому пути, возможно, стоит реализовать специальное правило для устройств без сенсорного экрана, чтобы использовать базовый шрифт 15 пикселей. (При проверке на устройства без сенсорного экрана мы определённо пропустим некоторые ноутбуки с сенсорными экранами — у них тогда будет больший размер шрифта.)
Это всё ещё проблема с устройствами iOS? Я могу увеличить размер шрифта, но это не влияет на точку переноса строки. У меня нет доступа к телефону или планшету на Android для проверки.