Делите путем


Организујте контроле у доступним апликацијама са подлогом

Контроле у апликацији треба да буду организоване тако да помажу корисницима читача екрана да се крећу секвенцијално. Логичан редослед такође смањује забуну код корисника тастатуре и помаже им да буду продуктивнији.

Значајно име екрана

Када се екран учита, читачи екрана ће изговорити његово име. Изаберите смислено име ради оријентације корисника.

Име екрана можете променити у стаблу контрола или на окну са својствима у услузи Power Apps Studio. Изаберите екран, а затим изаберите Изаберите икону оловке да бисте уредили име. да бисте преименовали екран.

Имена екрана могу се мењати са стабла контрола или панела својстава, као што је истакнуто на слици.

Први елемент на екрану је његово име. Визуелно је скривен и доступан само корисницима читача екрана.

Када се учита нови екран, Power Apps се фокусира име екрана. Ако користите SetFocus одмах након учитавања екрана, име екрана неће бити прочитано. Размислите о томе да креирате видљиви наслов и направите га регион уживо да најавите промену контекста.

Логички редослед контрола

Корисници читача екрана могу да се кретаћу садржајем узастопно. Редослед се одређује положајем контрола, почев од врха до дна, а затим слева надесно. Величина контроле није битна, само њена X и Y својства су битна.

У овом примеру, А се појављује први у низу, јер је најближи врху. Б и В имају исти вертикални положај, али пошто је Б ближе левој, па се стога појављује пре него што се В. Г појави последњи, јер је најудаљенији од врха.

Како позиционирање утиче на редослед 4 контроле.

Напомена

  • У режиму Верзија за преглед режиму уређивања апликације, редослед контроле се не ажурира из разлога перформанси. Редослед ће бити исправан када се апликација објави и покрене.
  • Редослед контроле није исти као онај приказан у приказу стабла контрола у услузи Power Apps Studio. Приказ стабла сортира контроле према томе када су додате у апликацију. Не утиче на редослед контрола приликом покретања апликације.
  • Када је Кс или Y вредност контроле подешена на израз, редослед контроле се не ажурира када се резултат израза промени. Редослед се израчунава и фиксира када се апликација сачува, користећи почетно стање апликације за процену израза.
    • Ако мењате своју позицију јер су друге контроле скривене или приказане, можете користити контејнере са аутоматским распоредом за управљање Кс и Y за вас.
    • Такође можете позиционирати све контроле на логичан начин, без обзира на вредности израза. На пример, ако контрола А увек треба да буде испод контроле Б и Б може бити скривена понекад, подесите А је И да буде If(B.Visible, B.Y + B.Height, B.Y + 1). Додавање 1 осигурава да је А увек испод Б, чак и ако је Б скривен.

Груписане контроле

Подразумевани редослед је погодан за изоловани садржај, али не и за груписани садржај. Узмите у обзир две плочице једну до друге, нацртане контролама Правоугаоника. Свака плочица има наслов. Испод наслова налазе се два дугмета наслагана вертикално: А и Б за прву плочицу и Ц и Д за другу.

Пример нетачне праксе: контроле организоване у равној структури.

Подразумевани редослед иде одозго надоле, а затим слева надесно. Дакле, редослед контрола је:

  1. Лево Правоугаоник
  2. Десно Правоугаоник
  3. Леви наслов
  4. Десни наслов
  5. A
  6. В
  7. Б
  8. D

Ова структура не показује да су А и Б заједно, а слично су и Ц и Д заједно.

Користите Контејнери за груписање повезаних садржаја. Све контроле у Контејнеру појавиће се заједно у редоследу. Унутар контејнера, контроле су поређане са истим правилом: од врха до дна, а затим лево надесно.

Замена Правоугаоника из претходног примера са Контејнерима, редослед контроле је сада логичан за кориснике читача екрана:

  1. Леви Контејнер
  2. Леви наслов
  3. A
  4. Б
  5. Десни Контејнер
  6. Десни наслов
  7. В
  8. D

Пример препоручене праксе: контроле организоване у хијерархијској структури помоћу контејнера.

Све контроле у Обрасцу картице и Галерији аутоматски се групишу, тако да не морате да користите Контејнер. Међутим, ако постоје подгрупе, и даље би требало да их користите Контејнере за њих.

У овом примеру, ред Галерија има сличицу и два дела текста на левој страни. Са десне стране су два дугмета. Визуелно и логички, требало би да буду груписана два скупа контрола. Ово осигурава да ће корисници читача екрана прво наићи на леву групу пре десне.

Пример препоручене праксе: повезане контроле у галерији су груписане унутар Контејнера.

Логички редослед навигације на тастатури

Навигација на тастатури је важан аспект сваке апликације. За многе је тастатура ефикаснија од коришћења додира или миша. Редослед навигације треба да:

  • Пратите визуелни ток контрола.
  • Следите или интуитивни редослед попреко па надоле у облику слова „Z“ или редослед уздуж па удесно у облику „обрнутог слова N“ (тј. ћириличног И).
  • Зауставља табулатор само на интерактивним контролама.

АццептсФоцус одређује да ли се контроле могу постићи тастатуром. За класичне контроле, еквивалентна особина је ТабИндеx.

Редослед навигације прати редослед контроле: с лева на десно, а затим одозго на дно, у "З" обрасцу. Можете га прилагодити на исти начин као и код контролног налога. На пример, контроле у контејнерима, обрасцима Картице и галеријама ... се аутоматски групишу. Таб тастер ће се кретати кроз све елементе унутар контејнера пре него што пређете на следећу контролу изван контејнера.

Ако је редослед навигације неочекиван, прво треба да проверите да ли је структура апликације логична.

Напомена

Када се контроле динамички померају на екрану, на пример, тако што се вредност Кс или И мења према изразу Power Fx , редослед навигације неће бити ажуриран.

Заобилазно решење за прилагођену секвенцу табулације

За ретке случајеве када би редослед навигације на тастатури требало да се разликује од визуелног редоследа, можете поставити контроле контејнера пажљиво да бисте постигли исти ефекат.

У доленаведеном примеру, дугме А је изнад дугмета Б. Природни редослед навигације картица је А, затим Б.

Два дугмета са истим својством TabIndex, наслагана вертикално.

Да бисте обрнули редослед навигације тастером Tab, ставите Б у контролу контејнера. Подесите да вредност Y контејнера буде изнад А. Структура апликације сада има контејнер (и Б) пре А. Отуда је редослед навигације тастером Tab Б, затим А.

Б се ставља у контејнер који се приказује пре А.

Помоћу ове технике, корисници читача екрана ће се такође наићи на Б пре А приликом навигације без тастера Tab.

Прилагођени индекси картица (пензионисана функција)

Прилагођени индекси табулације су они који су већи од нуле. Они више нису подржани. Све вредности ТабИндк веће од нуле ће се третирати као нула.

Прилагођени индекси картица су скоро увек знак лошег дизајна. Постоје боље алтернативе, као што је креирање одговарајуће структуре апликације или коришћење функције SetFocus за промену фокуса.

Неки проблеми са прилагођеним индексима картица:

Приступачност

Озбиљан је проблем приступачности ако имате прилагођене индексе табулације. Корисници читача екрана се крећу кроз апликацију користећи њену логичку структуру. Прилагођени индекси табулације занемарују ту структуру. Пошто корисници читача екрана такође могу да се крећу помоћу тастера Tab, биће збуњени када добију другачији редослед од других метода навигације.

Употребљивост

Корисници могу да се збуне када се учини да су неке ставке прескочене. Могу бити дезоријентисани када се фокус креће непредвидивим редоследом. То је још проблематичније за кориснике са когнитивним сметњама.

Одржавање

Аутори апликација морају ручно да ажурирају TabIndex више контрола сваки пут када се уметне нова контрола. Лако је пропустити исправку или погрешити редослед.

Перформансе

Да би подржао прилагођене индексе табулације, Power Apps систем мора да испита све контроле на страници и израчуна одговарајући редослед. То рачунање је интензиван процес. Контроле контејнера као што Галерија имају компликована правила о томе како TabIndex функционише за подређене контроле. Систем мапира жељени TabIndex аутора апликације на другу вредност да би поштовао ова правила. То је разлог зашто чак и ако је TabIndex подешен на нулу за све контроле, стварни HTML tabindex ће бити неки позитиван број.

Интеграција са другим компонентама

Прилагођени индекси табулације функционишу само са уграђеним контролама. Контроле које нису интегрисане у Power Apps систем индекса табулације имаће неочекивани редослед навигације. Ово може бити проблем за компоненте кода. Програмери ових компоненти морају да прате интерактивне елементе и да поставе индекс табулације на њих. Они могу да користе независне библиотеке, које можда чак и не обезбеђују начин прилагођавања индекса табулације. Са друге стране, када су сви индекси картица 0 или -1, нема потребе да укључујете Power Apps систем индекса табулације. Свака независна компонента уграђена у апликацију аутоматски ће добити исправан редослед табулације.

У другом смеру, када су апликације са подлогом уграђене у другу веб-страницу, прилагођени индекси табулације не функционишу. На пример, на прилагођеним страницама. Power Apps не може да контролише елементе изван апликације са подлогом, тако да ће укупан редослед навигације тастером Tab бити нелогичан.

Следећи кораци

Приступачне боје у услузи Power Apps

Погледајте и