Почему :after не реагирует на изменение CSS-Custom-Property для свойств background-color и opacity, будучи расположенным у тега :visited?

Селектор :after не реагирует на изменение CSS-Custom-Property для свойств background-color и opacity при использовании селектора :visited из-за безопасности и конфиденциальности информации.

CSS позволяет стилизовать посещенные ссылки, чтобы пользователи могли видеть, какие страницы они уже посещали. Однако этот функционал создает определенные ограничения на использование некоторых свойств CSS. Одно из этих ограничений – невозможность изменения цвета фона (background-color) и прозрачности (opacity) для псевдоэлементов, находящихся внутри селектора :visited.

Это ограничение было введено для защиты конфиденциальности пользователей. Ранее некоторые веб-сайты использовали изменение стилей псевдоэлементов :visited, чтобы получить информацию о том, какие ссылки пользователь уже посетил, и использовать эту информацию для сбора данных или отслеживания поведения. Например, злоумышленники могли создать стили, которые изменяли цвет и прозрачность псевдоэлемента :visited и затем проверять его значения с помощью JavaScript.

С целью сохранения конфиденциальности веб-браузеры реагируют на это ограничение, не позволяя изменять некоторые свойства CSS для селектора :visited, включая background-color и opacity. Это сделано для предотвращения возможности отслеживания пользовательского поведения посредством CSS. К сожалению, это также означает, что мы не можем использовать CSS-Custom-Property для изменения этих свойств в рамках селектора :visited.

Тем не менее, существуют некоторые альтернативные решения, если вам необходимо изменить внешний вид ссылок, используя :visited селектор. Вы можете использовать другие свойства CSS, такие как color, border-color, text-decoration, font-weight, font-style, text-transform и другие, в сочетании с CSS-Custom-Property, чтобы создать нужный вам эффект. Возможно, вам также придется использовать JavaScript для достижения желаемого результата, особенно если вы хотите динамически изменять значения свойств background-color и opacity.