#html #css #focus #accessibility #pseudo-class
Вопрос:
Я пытаюсь сделать так, чтобы ссылка имела состояние фокуса вокруг всего div .container-covid-alert, когда ссылка вставлена, я уверен, что это должно быть возможно? Следующие 2 селектора не работают.
.container-covid-alert:focus {
outline: solid 3px #FFAD16;
}
.container-covid-alert a:focus {
outline: solid 3px #FFAD16;
}
.container-covid-alert {
background-color: #206497 !important;
color: #FFFFFF;
padding-top: 10px;
padding-bottom: 10px;
display: block;
flex-flow: row wrap;
align-items: center;
align-content: center;
justify-content: flex-start;
font-size: 1.1rem;
}
.container-covid-alert a {
color: #FFFFFF;
}
.covid-inner {
margin: auto;
width: 1170px;
}
<a id="covid-banner-link" title="Coronavirus" class="sys_16" href="/">
<div class="container-covid-alert">
<div class="covid-inner">
<p>Coronavirus (COVID-19)updates and advice.</p>
</div>
</div>
</a>
Комментарии:
1. Трудно понять, чего именно вы хотите.
Ответ №1:
Ваша гиперссылка сворачивается, поскольку она ведет себя как встроенный элемент.
Решение состоит в том, чтобы заставить его действовать как элемент блока с. display: block;
Таким образом, вы можете просто добавить :focus
состояние в саму гиперссылку и сделать это действительно просто.
Кроме того, оранжевый индикатор фокусировки недостаточно контрастен — он составляет всего 1,86:1, и вам нужно как минимум 3:1, поэтому вы можете захотеть изменить это.
#covid-banner-link{
display:block;
}
#covid-banner-link:focus {
outline: solid 3px #FFAD16;
}
.container-covid-alert {
background-color: #206497 !important;
color: #FFFFFF;
padding-top: 10px;
padding-bottom: 10px;
display: block;
flex-flow: row wrap;
align-items: center;
align-content: center;
justify-content: flex-start;
font-size: 1.1rem;
}
.container-covid-alert a {
color: #FFFFFF;
}
.covid-inner {
margin: auto;
width: 1170px;
}
<a id="covid-banner-link" title="Coronavirus" class="sys_16" href="/">
<div class="container-covid-alert">
<div class="covid-inner">
<p>Coronavirus (COVID-19)updates and advice.</p>
</div>
</div>
</a>