Поділитися через


Організуйте елементи керування в компонованих програмах зі спеціальними можливостями

Елементи керування в програмі має бути організовано таким чином, щоб користувачам невізуального екрана було легше виконувати послідовні переходи. Логічний порядок також зменшує плутанину для користувачів клавіатури й допомагає їм підвищувати свою продуктивність.

Змістовне екранне ім’я

При завантаженні екрана невізуальний екран вимовляє своє ім’я. Виберіть змістовне ім’я, щоб користувачам було легше орієнтуватися.

Екранне ім’я можна змінити в дереві елементів керування або на панелі властивостей у Power Apps Studio. Виберіть екран і виберіть Вибрати піктограму «Перо», щоб відредагувати ім’я. щоб перейменувати екран.

Екранні імена можна змінювати з дерева елементів керування або панелі властивостей, як показано на рисунку.

Екранне ім’я є першим елементом, що відображається на екрані. Візуально воно є прихованим і є доступним виключно для користувачів невізуального екрана.

При завантаженні нового екрана Power Apps фокусує екранне ім’я. За використання функції SetFocus одразу після завантаження екрана екранне ім’я не зчитується. Розгляньте варіант створення видимого заголовка й перетворення його на активну область, у якій оголошуватиметься зміна контексту.

Логічний порядок керування

Користувачі невізуального екрана можуть послідовно переходити між блоками вмісту. Порядок визначається положенням елементів керування зверху вниз, потім зліва направо. Розмір елемента керування не має значення, мають значення лише властивості X і Y.

У цьому прикладі літера А відображається першою в послідовності, тому що вона є найближчою до верху. Літери Б і В мають однакову вертикальну позицію, але оскільки Б ближче до лівого краю, вона з'являється перед В. Літера Г відображається останньою, тому що знаходиться далі всіх від верху.

Як розташування впливає на порядок чотирьох елементів керування.

Примітка

  • При редагуванні програми в режимі Попереднього перегляду порядок елементів керування не оновлюється задля забезпечення швидкодії системи. Порядок буде правильним при публікації та запуску програми.
  • Порядок елементів керування не є таким самим, який показано в поданні елементів керування у вигляді дерева в Power Apps Studio. Подання дерева сортує елементи керування за часом їхнього додавання до програми. Це не впливає на порядок елементів керування при запуску програми.
  • Якщо для виразу встановлено значення X або Y елемента керування, порядок елемента керування не оновлюється, коли змінюється результат виразу. Замовлення обчислюється та фіксується під час збереження програми, використовуючи початковий стан програми для обчислення виразів.
    • Якщо ви змінюєте його положення через те, що інші елементи керування приховуються або відображаються, ви можете використовувати контейнери з автоматичним макетом , щоб керувати піктограмами X і Y .
    • Також можна логічно розташувати всі елементи керування незалежно від значень виразів. Наприклад, якщо елемент керування A завжди має бути нижче елемента керування B, а B іноді може бути прихованим, встановіть Y A If(B.Visible, B.Y + B.Height, B.Y + 1). Додавання 1 гарантує, що A завжди буде нижче B, навіть якщо B приховано.

Згруповані елементи керування

Порядок за замовчуванням підходить для ізольованого, але не для згрупованого вмісту. Давайте розглянемо дві розташовані поряд плитки, намальовані за допомогою елемента керування Прямокутник. Кожна плитка має заголовок. Під заголовком є дві кнопки одна над іншою: А і Б для першої плитки й В і Г для іншої.

Прикладом невірного застосування є елементи керування, впорядковані у вигляді пласкої структури.

Порядок за замовчуванням – зверху вниз, потім зліва направо. Отже, порядок елементів керування є таким:

  1. Лівий Прямокутник
  2. Правий Прямокутник
  3. Лівий заголовок
  4. Правий заголовок
  5. A
  6. C
  7. Б
  8. D

Ця структура не передає ідею, що А і Б є разом і, подібним чином, В і Г є разом.

Для групування пов’язаного вмісту використовуйте Контейнери. Усі елементи керування в Контейнері відобразяться разом у послідовному порядку. Порядок елементів керування в контейнері відповідає тому самому правилу: зверху вниз, потім зліва направо.

При заміні Прямокутників із попереднього прикладу Контейнерами порядок елементів керування стає логічним для користувачів невізуального екрана.

  1. Лівий Контейнер
  2. Лівий заголовок
  3. A
  4. Б
  5. Правий Контейнер
  6. Правий заголовок
  7. C
  8. D

Приклад рекомендованої практики: впорядкування елементів керування за ієрархічною структурою за допомогою контейнерів.

Усі елементи керування в Картці форми та Колекції автоматично групуються, отже, вам не потрібно використовувати Контейнер. Однак, якщо є підгрупи, для них слід використовувати Контейнери.

У цьому прикладі рядок Галерея має ескіз і два текстові блоки зліва. Праворуч розташовано дві кнопки. Два блоки елементів керування має бути згруповано візуально та згідно з логікою. Це забезпечує, щоб користувачі невізуального екрану спершу знаходили ліву групу, а потім праву.

Приклад рекомендованої практики: всередині контейнерів групуються пов’язані елементи керування в колекції.

Логічний порядок переходів на клавіатурі

TabIndex визначає те, як користувачі клавіатури можуть торкати елементи керування. TabIndex має бути 0 або -1. Є мало причин того, щоб значення TabIndex було більше 0, якщо застосовується описаний вище логічний порядок елементів керування.

Порядок переходів на клавіатурі має відповідати візуальному порядку елементів керування. Якщо порядок переходів несподіваний, спочатку слід перевірити логічність структури програми.

Примітка

Порядок переходів на клавіатурі не є таким самим як порядок елементів керування. TabIndex впливає лише на навігацію за допомогою клавіші Tab. Це не змінює спосіб лінійних переходів у програмі користувачами невізуального екрана. Деякі користувачі невізуального екрана навіть не використовують будь-яку клавіатуру.

Уникайте нестандартних індексів табуляції

Нестандартні індекси табуляції – ті, що мають значення більше 0. Майже завжди вони вказують на невдалий дизайн. Є кращі альтернативи, наприклад створення належної структури програми або використання властивості SetFocus для змінення фокуса.

Уникайте використання нестандартних індексів табуляції через такі причини.

Спеціальні можливості

Наявність нестандартних індексів табуляції – серйозна проблема з точки зору спеціальних можливостей. Користувачі невізуальних екранів здійснюють переходи в програмі, керуючись її логічною структурою. Нестандартні індекси табуляції ігнорують цю структуру. Оскільки користувачі невізуальних екранів також здійснюють переходи за допомогою клавіші Tab, їх буде збито з пантелику, коли за застосування інших методів навігації переходи здійснюватимуться в іншому порядку.

Зручність використання

Користувачів може бути збито з пантелику, коли деякі елементи пропускатимуться. Їх може бути дезорієнтовано, коли фокус переміщуватиметься в непередбачуваному порядку. Це представляє ще більшу проблему для користувачів із порушеннями когнітивного розвитку.

Обслуговування

Автори програм мають уручну оновлювати властивість TabIndex кількох елементів керування щоразу під час їх вставлення. Пропустити оновлення або порушити порядок легко.

Ефективність

Щоб підтримувати нестандартні індекси табуляції, система Power Apps має перевіряти всі елементи керування на сторінці та обчислювати відповідний порядок. Обчислення – інтенсивний процес. Елементи керування контейнерами, як-от Галерея, мають складні правила роботи властивості TabIndex для дочірніх елементів керування. Для виконання цих правил система зіставляє значення властивості TabIndex, яке хоче використовувати автор програми, з іншим значенням. Тому, навіть якщо для всіх елементів керування властивості TabIndex присвоєно значення "нуль", фактична властивість tabindex HTML-файлу буде додатним числом.

Інтеграція з іншими компонентами

Нестандартні індекси табуляції працюють лише з вбудованими елементами керування. В елементів керування, не інтегрованих у систему індексів табуляції Power Apps, буде неочікуваний порядок переходів. Це може становити проблему для компонентів коду. Розробники цих компонентів мають відстежувати інтерактивні елементи та задавати для них індекс табуляції. Вони можуть використовувати бібліотеки сторонніх постачальників, які можуть навіть не передбачати способу налаштування індексів табуляції. З іншого боку, якщо в усіх індексів табуляції значення 0 або –1, задіювати систему індексів табуляції Power Apps не потрібно. Будь-який компонент сторонніх постачальників, вбудований у програму, автоматично отримуватиме правильну послідовність табуляції.

Якщо подивитися на інший напрямок, коли компоновані програми вбудовуються в іншу веб-сторінку, нестандартні індекси табуляції не працюють. Приклад – настроювані сторінки. Power Apps не може керувати елементами за межами компонованої програми, тому загальний порядок переходів за допомогою клавіші Tab буде нелогічний.

Спрощений індекс табуляції (підготовча версія)

Щоб індекси табуляції дорівнювали 0 або –1, увімкніть програмну функцію Спрощений індекс табуляції тут: Параметри > Майбутні функції.

Увімкнення програмної функції "Спрощений індекс табуляції".

Важливо

  • Це функція попереднього перегляду.
  • Підготовчі функції призначені для невиробничого використання і можуть бути обмежені. Ці функції доступні до офіційного випуску, щоб клієнти могли ознайомитися з ними заздалегідь і залишити відгуки.

Якщо цю функцію ввімкнуто, усі значення властивості TabIndex, більші за нуль, розглядатимуться як нуль. У такому разі також вимикається система індексів табуляції Power Apps, щоб покращити інтеграцію з іншими компонентами, як описано вище.

Обхідне рішення для нестандартної послідовності табуляції

У рідкісних випадках, коли порядок клавіатурних переходів має відрізнятися від візуального порядку, ви можете обережно розташувати елементи керування контейнерами, щоб досягти такого самого ефекту.

У наведеному нижче прикладі кнопка A перебуває вище кнопки B. Природний порядок переходу – спочатку A, потім B.

Дві кнопки з однаковим значенням властивості TabIndex, розташовані одна над одною.

Щоб змінити порядок переходу за допомогою клавіші Tab на протилежний, помістіть кнопку B в елементі керування "Контейнер". Задайте значення Y контейнера так, щоб він перебував вище кнопки A. Після цього в структурі програми контейнер (і кнопка B) передуватимуть кнопці А. Отже, порядок переходів за допомогою клавіші Tab – спочатку кнопка B, потім кнопка A.

Кнопка B поміщається в контейнер, який з’являється перед кнопкою А.

За застосування цього прийому користувачі невізуального екрана також зустрічатимуть кнопку B перед кнопкою A, коли переходи здійснюватимуться без клавіші Tab.

Наступні кроки

Спеціальні кольори в Power Apps

Див. також