Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Agenci Copilot Studio dobrze współpracują z czytnikami ekranu w systemie Windows, takimi jak NonVisual Desktop Access (NVDA) oraz Job Access with Speech (JAWS). Aby zoptymalizować dostępność, rozważ te wskazówki.
Czytniki ekranu
W przypadku czytnika zawartości ekranu i ułatwień dostępu do nawigacji za pomocą klawiatury w kartach adaptacyjnych najważniejsze jest to, co jest najważniejsze.
Zawsze uwzględniaj właściwość "label": właściwość "label" jest odczytywana przez czytniki ekranu, gdy użytkownik ustawia fokus na polu wejściowym. Bez niej czytniki ekranu mogą po prostu odczytać „pole edycji” bez kontekstu. Czytniki ekranu często nie odczytują tekstu zastępczego, a ten znika, gdy użytkownik zacznie wpisywać tekst. Dlatego unikaj polegania na nich w kwestii dostępności.
{ "type": "Input.Text", "id": "middleName", "label": "Middle name (optional)", "placeholder": "Enter your middle name" }Używaj rozsądnie elementów „inputStyle” i „style”: unikaj niestandardowego stylu, który usuwa oznaczenia fokusu. Domyślny pierścień fokusu jest tym, na czym użytkownicy klawiatury polegają, aby wiedzieć, gdzie znajdują się na karcie.
Użyj wartości „isRequired” i „errorMessage” dla czytników: nawet w przypadku pól opcjonalnych czytelny komunikat „errorMessage” ułatwia programom odczytu ekranu przekazywanie opinii o weryfikacji.
{ "type": "Input.Text", "id": "middleName", "label": "Middle name (optional)", "isRequired": false, "errorMessage": "Please enter a valid middle name" }Kolejność logiczna zakładek: karty adaptacyjne są zgodne z kolejnością modelu obiektów dokumentów (DOM, Document Object Model) dla nawigacji przy użyciu klawisza Tab, dlatego należy określić strukturę reprezentacji JSON karty w kolejności, przez którą użytkownicy mają przechodzić. Unikaj używania układów „ColumnSet”, które tworzą wizualnie logiczną kolejność, ale mylącą kolejność tabulacji dla użytkowników klawiatury.
Przyciski akcji są domyślnie dostępne za pomocą klawiatury: właściwości, takie jak „Action.Submit” i „Action.OpenUrl”, są natywnie definiowane z możliwością przeniesienia fokusu. Upewnij się, że tytuł jest opisowy, a nie coś niejasnego typu „Kliknij tutaj”, ponieważ czytniki ekranu czytają tytuł na głos.
Dodaj „type”: „TextBlock”, aby uzyskać instrukcje: jeśli sekcja pól opcjonalnych wymaga kontekstu, ustaw wartość „type” jako „TextBlock” przed tymi polami. Czytniki ekranu odczytują pola po kolei, dając użytkownikom kontekst, którego potrzebują, zanim dotrą do pól wejściowych.
{ "type": "TextBlock", "text": "The following fields are optional. You can skip them if not applicable.", "wrap": true }Unikaj "isVisible": "false" w scenariuszach dostępności: czytniki ekranu całkowicie pomijają ukryte elementy. Jeśli priorytetem jest dostępność, pozwól, by pola opcjonalne były widoczne. Jeśli musisz je ukryć, upewnij się, że „przełącznik” ma wyraźną, opisową etykietę.
Porada dla profesjonalistów dotycząca testowania w usłudze Microsoft Teams: ze względu na niewielkie różnice w obsłudze kart adaptacyjnych w usłudze Microsoft Teams zalecamy użycie wbudowanego narratora systemu Windows lub NVDA w celu zweryfikowania kolejności tabulacji, a także upewnienia się, że komunikaty działają zgodnie z oczekiwaniami.
Konkretne właściwości schematu
Oto kilka konkretnych właściwości w schemacie kart adaptacyjnych, które mogą pomóc poprawić dostępność.
Właściwość "label"
Właściwość „label” jest kluczowa dla czytników ekranu. Dzięki połączeniu etykiet z wejściami, biblioteki rendererów mogą ustawić niezbędne właściwości, aby użytkownicy technologii wspomagających, takich jak czytniki ekranu, mogli prawidłowo współpracować z wejściami wewnątrz kart adaptacyjnych.
Dowiedz się więcej w Input.Text.
Dlaczego "label" jest lepsza od "placeholder" pod względem dostępności?
Zalecamy używanie właściwości „label” do tagowania parametrów wejściowych kart adaptacyjnych zamiast właściwości „placeholder”. To prosty i zwięzły sposób etykietowania pól dla autorów kart.
Używanie właściwości "TextBlock" jako etykiet uniemożliwia wymuszanie bliskości między wejściami a etykietami. Stosując właściwość „label”, możesz zapewnić, że etykiety i pola wejściowe są renderowane obok siebie, co ułatwia korzystanie osobom potrzebującym powiększaczy ekranu.
Dowiedz się więcej w Weryfikacja danych wejściowych.
Użyj "errorMessage" do komunikatów o błędach walidacji
Właściwość „errorMessage” jest dostępna dla wszystkich typów pól wejściowych, aby określić komunikat wyświetlany, gdy użytkownik wprowadzi nieprawidłową wartość.
Dowiedz się więcej w Weryfikacja danych wejściowych.
TextBlock z elementem „style”: „heading” dla struktury ułatwień dostępu
Użycie „style”: „heading” stosuje domyślny styl nagłówka i oznacza element TextBlock jako nagłówek dla dostępności.
Dowiedz się więcej o TextBlock.
Przyciski akcji — "podpowiedź" do narracji
Akcja „Action.ToggleVisibility” obsługuje właściwość „tooltip”, która definiuje tekst wyświetlany po umieszczeniu wskaźnika myszy na akcji. Oprogramowanie narracyjne odczytuje ten tekst.
Dowiedz się więcej w Action.ToggleVisibility.
Uwaga przy "isVisible": "false" dla elementów wejściowych
Pozostaw elementy wejściowe z walidacją widoczne. Elementy wejściowe z walidacją w ramach „Action.ToggleVisibility” mogą powodować zamieszanie, jeśli ukryte parametry wejściowe są niepoprawne.
Dowiedz się więcej w Action.ToggleVisibility.
Właściwość "labelPosition" dla Input.ChoiceSet
W przypadku „Input.ChoiceSet” właściwość „labelPosition” określa położenie etykiety: w jednej linii lub powyżej (domyślnie).
Dowiedz się więcej w Input.ChoiceSet.