Skip to content

Commit 224b033

Browse files
Add a11y section into DateInput doc
1 parent 0e20e7f commit 224b033

File tree

1 file changed

+25
-0
lines changed
  • packages/vkui/src/components/DateInput

1 file changed

+25
-0
lines changed

packages/vkui/src/components/DateInput/Readme.md

+25
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,24 @@
33
- Если нужен календарь без поля ввода, используйте [Calendar](#!/Calendar).
44
- Если нужен выбор диапазона дат, используйте [DateRangeInput](#!/DateRangeInput).
55

6+
## Цифровая доступность (a11y)
7+
8+
> ⚠️ Настоятельно рекомендуем включить режим `accessible`, чтобы сделать DateInput доступным уже сейчас. В v8 режим `accessible` будет включен по умолчанию
9+
10+
По умолчанию (в v7) `DateInput` сложно использовать пользователям ассистивных технологий.
11+
Мы доработали компонент так, чтобы сделать его доступным. К сожалению, это потребовало изменений в визуальном поведении компонента. Мы можем включить это поведение по умолчанию только в мажорном релизе VKUI (v8), так как это влияет в том числе и на текущих пользователей VKUI v7.
12+
Тем не менее новое, доступное поведение можно включить с помощью нового свойства `accessible`. Настоятельно рекомендуем это сделать.
13+
Вот список изменений которые отличают поведение со свойством `accessible` от поведения `DateInput` по умолчанию:
14+
15+
- иконка календаря видна постоянно. Раньше она была видна только если в `DateInput` нет значения;
16+
- календарь открывается:
17+
- по клику по иконке календаря,
18+
- по нажатию `<Space>`, если `DateInput` в фокусе.
19+
20+
Раньше он открывался по клику на `DateInput`, или сразу при фокусе на `DateInput`;
21+
22+
- при открытии календарь получает фокус. При закрытии календаря фокус возвращается на `DateInput`.
23+
624
> ⚠️ Данный компонент предназначен для использования на desktop. При использовании на ios/android работа компонента не гарантируется
725
826
```jsx { "props": { "layout": false } }
@@ -15,6 +33,7 @@ const Example = () => {
1533
const [closeOnChange, setCloseOnChange] = useState(true);
1634
const [showNeighboringMonth, setShowNeighboringMonth] = useState(false);
1735
const [disableCalendar, setDisableCalendar] = useState(false);
36+
const [accessible, setAccessible] = useState(false);
1837
const [locale, setLocale] = useState('ru');
1938

2039
return (
@@ -65,6 +84,11 @@ const Example = () => {
6584
Включено
6685
</Checkbox>
6786
</FormItem>
87+
<FormItem top="Включить режим, в котором DateInput доступен для ассистивных технологий">
88+
<Checkbox checked={accessible} onChange={(e) => setAccessible(e.target.checked)}>
89+
Включено
90+
</Checkbox>
91+
</FormItem>
6892
<FormItem top="Локаль">
6993
<Select
7094
style={{ width: 100 }}
@@ -104,6 +128,7 @@ const Example = () => {
104128
disablePickers={disablePickers}
105129
showNeighboringMonth={showNeighboringMonth}
106130
disableCalendar={disableCalendar}
131+
accessible={accessible}
107132
/>
108133
</LocaleProvider>
109134
</Flex>

0 commit comments

Comments
 (0)