Що помічник читає на екрані
Для розробників, у коді: що виходить із браузера в кожному режимі читання, винятки, що важать більше за будь-який режим, append проти fill і що помічнику повідомляють про зміни.
Помічник читає екран, щоб описати його і вирішити, куди писати. Чи виходить текст із поля за межі браузера — рішення власника: віджет стоїть на сайті власника й інакше читав би те, що відвідувачі вписують у контактні форми й адреси замовлень, у промпт, який доходить до провайдера моделі.
Три режими читання
Чи бачить асистент вміст полів (page_read_values), на вкладці «Дії на сторінці» віджета:
| Режим | Що маніфест несе для поля |
|---|---|
off (за замовчуванням для кожного сайту) |
filled: true/false — чи є значення, але ніколи яке |
marked |
значення лише для елементів під елементом із data-sa-read (сам елемент або будь-який контейнер) |
all |
значення кожного читабельного елемента, обрізане до 2000 символів із clipped: true |
Поточне значення повзунка, текст textarea і обраний варіант select ідуть під тим самим перемикачем.
Що не читається ніколи, в жодному режимі
<input type="password">, type="hidden", type="file" і все всередині елемента з
data-sa-private. Це важить більше за дозвіл: data-sa-read на полі пароля нічого не робить. Ці
елементи також ніколи не беруть участі в діях.
Ці винятки визначаються типом поля і вашою розміткою. Номер картки у звичайному полі
type="text" виглядає як будь-який інший текст, тож позначте платіжну форму data-sa-private, і
вона лишиться недосяжною в кожному режимі читання — тому й читання спочатку вимкнене.
data-sa-read і для тексту
Окрім значень полів, data-sa-read додає в маніфест описовий текст області — підказку під
полем, помилку форми, примітку біля перемикача — до 400 символів, як запис text. Так «чому
“Зберегти” недоступна?» отримує відповідь, що цитує ваше власне повідомлення валідації.
Append проти fill
fill замінює значення поля. append дописує в кінець, і склеювання відбувається в браузері:
наявний текст ніколи не покидає сторінку. Саме це дозволяє помічнику розширювати поле з вимкненим
читанням, і це єдиний безпечний спосіб доповнити значення, яке маніфест показав як clipped.
append не додає власного роздільника і відхиляється на випадному списку.
Що помічнику повідомляють про зміни
Віджет перевіряє кожен запис, перечитуючи елемент, і повідомляє, що побачив:
| Прапорець | Сенс | Що каже помічник |
|---|---|---|
replaced: true |
до заповнення поле мало інше, непорожнє значення | «я замінив те, що було» — ніколи просто «готово» |
unchanged: true |
поле вже мало саме це значення | «там уже так написано», і прохання «допиши в це поле» досі не виконане |
| жоден | поле було порожнім або значення нове | «заповнено» |
Те саме для check на вже поставленій галочці і select на вже обраному варіанті. Запис того
самого тексту назад нічого не знищує, тож це не replaced.
Читання без дій
З вимкненими діями на сторінці помічник на екрані додатка все одно може читати — для
екранного помічника віддається page_read, — тож «що це за екран?» і «чому це недоступно?» мають
відповідь, хоча нічого не заповнюється й не натискається. «Покажи, де це» іде під тим самим
дозволом на читання: прокрутка до місця нічого не змінює.
На спільному чи чутливому екрані
Три маркери за ступенем приховування: data-sa-actions="off" (описувати, ніколи не діяти),
відсутній data-sa-read (лише стан), data-sa-private (невидимо). Хост також може вимкнути дії
на сторінці на одне завантаження через Shukai.setPageActions(false).