Здесь много хороших ответов, думал, что я добавлю свои два цента.
Допустимы две страницы, но плохая идея, ремонтопригодность, SEO и т. Д. - все это факторы, которые уже упоминались.
Но то, что не было упомянуто, это просто наличие разных таблиц стилей для доступности.
Если ваша html-разметка является действительной и логически структурированной, то для того, чтобы сделать страницу доступной, это «простой» случай добавления атрибутов aria - который охватывает пользователей программами чтения с экрана.
Вы сказали, что это сложная страница, поэтому «ограничения» проектирования для пользователей с ограниченными возможностями могут заставить вас упростить и улучшить компоненты по пути, и в любом случае принести пользу клиенту. Изменение доступности HTML-кода не только приносит пользу вашим пользователям с ограниченными возможностями, но вы также обнаружите, что он делает сайт более легким для пользователей с ограниченными возможностями, так что это плюс.
Как только ваш HTML верен и отрегулирован для доступности для программ чтения с экрана, другие части доступности (для слабовидящих, дальтоников и т. Д.) Легко достигаются с помощью другой таблицы стилей (или нескольких для разных сценариев).
Пользователям с ограниченными возможностями нужно много разных вещей, но основное внимание должно быть уделено тому, чтобы сайт можно было использовать при увеличении 400% на экране 1920 * 1080, можно менять цвета, менять шрифты и отключать анимацию для пользователей с нарушениями познавательной способности. .
Все это можно сделать с помощью CSS.
На моем собственном сайте я имел стандартную таблицу стилей без анимации, стандартных цветов и т. Д. Затем отдельную таблицу стилей для:
- анимации (включены по умолчанию)
- цветов (переопределение стандартных цветов без использования! Важный)
- Нет JavaScript - поскольку это может быть реальной проблемой для определенных вещей и программ для чтения с экрана (я скрываю некоторые элементы, которые могут вызвать путаницу без включенного JavaScript)
Это дополняется отдельной страницей настроек, где пользователи могут выбирать размер шрифта, цвета, семейство шрифтов, анимацию или нет, изображения или нет и т. Д., Хранящиеся в localstorage, а затем обрабатывать в несколько простых классов в теле при каждой загрузке страницы, которые может использоваться для мелкозернистого контроля над предметами.