Я пытаюсь сделать свой сайт доступным в высококонтрастном режиме. Чтобы обнаружить, когда включен режим высокой контрастности, я создал метод JavaScript для обнаружения фоновых изображений, потому что режим высокой контрастности отключает фоновые изображения, а затем, если браузер находится в высококонтрастном режиме, я добавляю файл css для сделать исправления для отображения с высокой контрастностью. Это отлично работает в Firefox, Edge и IE, но Chrome использует собственное расширение для создания высококонтрастных и не отключает фоновые изображения, поэтому в Chrome css для высокой контрастности не добавляется.Обнаружение высокого контрастного режима в браузере Chrome
Из поиска Я обнаружил, что Chrome добавляет фильтр через веб-сайт, а не включает/отключает/меняет цвета сайта или изображения. Я искал и искал, но я не могу найти ничего, чтобы проверить, использует ли Chrome режим высокой контрастности. Если бы был способ определить, какие расширения используются, что также решит проблему, но я также не смог найти способ сделать это.
Мой код действительно работает нормально, все, что мне нужно, - это возможность обнаруживать высококонтрастный режим в Chrome. Вот метод, который я использую для проверки высококонтрастного режима.
let highContrast = (options) => {
let hcDetect = jQuery(`<div id="jQHighContrastDetect"></div>`).css('background', 'url(../uploads/c-wht-small.png)');
hcDetect.appendTo(document.body);
if (hcDetect.css('background-image') === 'none') {
$('head').append('<link rel="stylesheet" href="../css/highcontrast.min.css" type="text/css" media="all">');
}
}
Если вы хотите увидеть больше кода, пожалуйста, дайте мне знать, я просто не уверен, что еще было бы полезно, чтобы показать.
Спасибо, если заранее за помощь!
см. Http: // stackoverflow.com/questions/1921047/how-to-check-if-user-in-high-contrast-mode-via-javascript-or-css – DiceXQ
@DiceXQ Я обнаружил, что уже, похоже на то, что я делаю, но он также не работает для Chrome. – CascadiaJS
Стоит упомянуть, что лучше избегать этой необходимости, когда это возможно. Если проекты соответствуют требованиям контраста WCAG AA, то большая часть вашего проекта будет отлично смотреться в различных режимах с высокой контрастностью. Фоновые изображения будут скрыты в большинстве высококонтрастных режимов, но они никогда не должны передавать важную информацию. Если вам требуются цвета фона для отображения в режиме высокой контрастности, рассмотрите возможность использования больших границ одного цвета и установки размера поля в рамку, переполнение до скрытого. –