Атрибут autofocus тега <select> — фокус на списку одразу


автор: с3с

Загальний опис

автор: NagarD

Порада

autofocus для коректної роботи встановлюйте тільки на один елемент сторінки

автор: с3с

Синтаксис

<select autofocus>


...


</select>

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
79 110 15.4 66 79 10*
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
79 79 110 16.4

Приклади

+ запропонувати свій приклад у пісочниці

Сторінка відкривається з фокусом одразу на списку — натисни стрілки вгору/вниз, і він реагує без жодного кліку; сусіднє поле фокуса не отримало.

<form>
    <select name="num" autofocus>
        <option value="1">перший</option>
        <option value="2">другий</option>
        <option value="3">третій</option>
    </select>
    <input type="text" placeholder="а фокус не тут">
</form>
автор: с3с

Шість списків, і жоден із них у цій рамці фокуса не дістане: рамка має sandbox, а він глушить автофокус — це частина демонстрації. Стилі показують, у кого атрибут є, хто з них єдиний претендент (перший у коді), а хто мертвий, хоч атрибут і стоїть: вимкнений, схований і той, що у вимкненій групі. Пройдіться клавішею Tab — видно, які списки взагалі здатні прийняти фокус.

HTML

<p class="head">Шість списків, чотири з них із autofocus</p>

<div class="ramka">
    <p class="pole"><label for="s1">1. Перший autofocus у коді — єдиний претендент</label>
        <select id="s1" autofocus>
            <option>Київ</option><option>Львів</option>
        </select></p>

    <p class="pole"><label for="s2">2. Другий autofocus — уже нічого не отримає</label>
        <select id="s2" autofocus>
            <option>Одеса</option><option>Харків</option>
        </select></p>

    <p class="pole"><label for="s3">3. autofocus + disabled — мовчки нічого</label>
        <select id="s3" autofocus disabled>
            <option>Дніпро</option>
        </select></p>

    <p class="pole"><label for="s4">4. autofocus="false" — атрибут усе одно рахується</label>
        <select id="s4" autofocus="false">
            <option>Полтава</option>
        </select></p>

    <fieldset disabled>
        <legend>5. Вимкнена група</legend>
        <p class="pole"><label for="s5">autofocus усередині — мовчки нічого</label>
            <select id="s5" autofocus>
                <option>Суми</option>
            </select></p>
    </fieldset>

    <p class="pole"><label for="s6">6. Звичайний список без атрибута</label>
        <select id="s6">
            <option>Чернівці</option>
        </select></p>
</div>

<p class="note">У цій рамці фокус не наведеться нікуди: рамці задано sandbox, і
   автоматичний фокус у ній заборонено. Клацніть у список або пройдіться Tab —
   рамка фокуса зʼявиться лише там, де елемент здатний його прийняти.</p>

CSS

.head {
    margin: 0 0 8px;
    color: #5a6472;
    font: 600 14px/1.4 system-ui, sans-serif;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ramka {
    max-width: 560px;
    padding: 4px 12px 12px;
    border: 1px solid #b9c6d8;
    border-radius: 6px;
    background: #f6f9ff;
}

.pole {
    margin: 12px 0 0;
}

label {
    display: block;
    margin-bottom: 4px;
    color: #5a6472;
    font: 600 13px/1.4 system-ui, sans-serif;
}

select {
    padding: 5px 8px;
    border: 2px solid #b9c6d8;
    border-radius: 4px;
    font: inherit;
}

select:focus-visible {
    outline: 3px solid #2f6fd0;
    outline-offset: 2px;
}

fieldset {
    margin: 14px 0 0;
    padding: 0 10px 10px;
    border: 2px dashed #d64545;
    border-radius: 6px;
}

legend {
    padding: 0 6px;
    color: #c0392b;
    font-weight: 700;
}

select[autofocus] {
    border-color: #3a9a4f;
    background: #f3fbf4;
}

select[autofocus]:disabled,
fieldset:disabled select[autofocus] {
    border-color: #d64545;
    background: #fff4f4;
}

.pole:has(select[autofocus])::after,
.pole:has(select:not([autofocus]))::after {
    display: block;
    margin-top: 3px;
    font: 13px/1.5 system-ui, sans-serif;
}

.pole:has(select[autofocus])::after {
    content: "атрибут autofocus є";
    color: #1b5e20;
}

.pole:has(select[autofocus]:disabled)::after,
fieldset:disabled .pole:has(select[autofocus])::after {
    content: "атрибут є, але фокус сюди не піде";
    color: #c0392b;
}

.pole:has(select:not([autofocus]))::after {
    content: "атрибута немає";
    color: #5a6472;
}

.note {
    max-width: 560px;
    margin-top: 14px;
    color: #5a6472;
    font-size: .9em;
}
автор: NagarD

Приклад використання HTML атрибута autofocus теґа <select> Якщо приклад не працює скопіюте код на совю сторінку

HTML

<div>
 
<p>Список з можливістю множинного вибору.</p>
  
<select multiple="multiple" name="type">
<option disabled="disabled" selected="selected">Ким ви працювали</option>
<option value = "Програміст">Програміст</option>
<option value = "Системний аміністратор">Системний аміністратор</option>
<option value = "Маркетолог">Маркетолог</option>
<option value = "Маркетолог">Дизайнер </option>
</select>
</div>
<div>
<p>Випадаючий список.</p>
                  
<select name="number" autofocus>
<option disabled="disabled" selected="selected">Скільки років ви програмуєте</option>
<option>1 рік</option>
<option>2 роки</option>
<option>3 роки</option>
<option>4 роки</option>
</select>
</div>

CSS

div{
  padding:10px;
  float:left;
}

select:focus{
  border: 2px solid #ff0000;  
}
автор: с3с

Різниця між HTML 4.01 та HTML5


У XHTML, атрибут minimization заборонений, а атрибут autofocus повинен бути визначений як <select autofocus="autofocus">.

Атрибут autofocus став доступний для тега <select>

Різниця між XHTML та HTML


У XHTML, атрибут minimization заборонений, а атрибут autofocus повинен бути визначений як <select autofocus="autofocus">.


Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід