Wskazówki dotyczące tworzenia dostępnych interfejsów użytkownika
Poniżej przedstawiono wskazówki dotyczące tworzenia interfejsów użytkownika współpracujących z dostępnym w systemie Windows interfejsem IAccessibility.
- Należy używać grup zamiast etykiet.
- Jeśli do określania tytułu grupy pokrewnych widgetów używana jest etykieta, należy usunąć etykietę
i zastąpić ich nadrzędną klasę Composite grupą, której tekst będzie taki sam jak tekst etykiety.
- Należy unikać stosowania pośrednich klas Composite.
- Narzędzia interfejsu IAccessibility będą odczytywać nadrzędną hierarchię aktywnego widgetu do najwyższego poziomu, na którym będą jeszcze widgety do odczytania. Dlatego należy zadbać, aby w ramach drzewa nie było widgetów bez tekstu.
- Należy używać tekstów tylko do odczytu zamiast etykiet.
- Tekst można aktywować za pomocą klawiatury, dlatego należy używać go w przypadkach, gdy informacje zawarte w etykiecie powinny być dostępne za pośrednictwem klawiatury. Należy przy tym pamiętać, że etykieta znajdująca się obok tekstu będzie traktowana jako tytuł. Jeśli więc wymagane jest wyświetlenie pary tytuł:wartość, wystarczy tylko określić widget wartości jako tekst.
- Należy przeczytać ze zrozumieniem listę kontrolną IBM.
- Firma IBM udostępnia przydatną listę kontrolną w celu zapewnienia ułatwień dostępu. Lista ta jest dostępna pod adresem
http://www.ibm.com/able/guidelines/software/accesssoftware.html
- Należy przypisywać mnemoniki do wszystkich menu i elementów menu.
- Należy zadbać o to, aby mnemoniki były unikalne w ramach danego menu. Jeśli menu jest składane dynamicznie na podstawie wielu modułów dodatkowych, lepszym rozwiązaniem może okazać się zrezygnowanie z mnemoników, ponieważ nie ma wtedy prostego sposobu na uniknięcie konfliktów (np. w przypadku list wyświetlanych po wybraniu opcji Plik > Nowy lub Okna > Pokaż widok).
- Należy przypisywać mnemoniki do wszystkich etykiet elementów sterujących w oknach dialogowych, na stronach
właściwości i na stronach preferencji (np. do przycisków, pól wyboru, przełączników itp.).
- Należy zadbać o to, aby mnemoniki były unikalne w ramach okna dialogowego. Konieczne jest unikanie kolizji z przyciskami domyślnymi - np. w przypadku przycisków Odtwórz wartości &domyślne i
&Zastosuj (na stronach właściwości) oraz przycisków &Dalej, &Wstecz i &Zakończ (w kreatorach). Nie można przypisywać mnemoników do przycisków OK i Anuluj. Jeśli przycisk OK będzie domyślnym przyciskiem powłoki, a przycisk Anuluj będzie powodował jej zamknięcie, to do tych przycisków będą domyślnie przypisane odpowiednio klawisze Enter i Esc. Zwykle nie zaleca się przypisywania akcji do klawiszy Esc i Enter.
- Należy upewnić się, że elementy sterujące bez etykiet są poprzedzone etykietą.
- Jeśli element sterujący nie ma własnej etykiety (np. pole tekstowe), należy użyć poprzedzającej etykiety
zakończonej znakiem dwukropka (:) i przypisać do niej mnemonik. Oprogramowanie lektora ekranowego (np. program
JAWS) odczyta taką etykietę, jeśli element sterujący będzie aktywny (patrz Okna > Preferencje > Ogólne).
- Należy unikać dodatkowych samodzielnych etykiet.
- Nie można przejść do dodatkowych samodzielnych etykiet, ponieważ nie można ich aktywować
i są one z tego powodu pomijane przez oprogramowanie lektorów ekranowych (np. program JAWS).
- Nie można przypisywać mnemoników do elementów sterujących w oknie głównym.
- Nie należy przypisywać mnemoników do elementów sterujących w oknie głównym (poza menu głównymi
i elementami menu głównego), nawet jeśli wygląda ono jak okno dialogowe (np. edytory formularzy
w org.eclipse.ui.forms), ponieważ zwykle istnieje konflikt między takimi mnemonikami i mnemonikami menu.
- Należy przypisywać klawisze skrótów do często używanych funkcji (i tylko do tych funkcji).
- W pakiecie SWT istnieją obecnie tylko dwa sposoby przypisywania klawiszy skrótów:
- Przez ustawienie klawisza skrótu dla elementu menu na głównym pasku menu (są ignorowane w menu kontekstowych). Ten sposób jest obsługiwany przez akcje JFace.
- Przez przypisanie funkcji nasłuchiwania klawisza dla określonego elementu sterującego (np. w implementacji widoku lub edytora).
Aby uniknąć kolizji, należy używać tabeli klawiszy skrótów pakietu SDK środowiska Eclipse, która jest dostępna
na stronie preferencji Ogólne > Klawisze.
- Należy unikać kombinacji typu Alt+{klawisz}, Ctrl+Alt+{klawisz} i Ctrl+Spacja+{klawisz}.
- Kombinacje typu Alt+{klawisz} mogą powodować konflikty z mnemonikami menu.
- Kombinacje typu Ctrl+Alt+{klawisz} mogą powodować konflikty ze znakami specjalnymi wprowadzanymi przy użyciu klawiatur międzynarodowych (alt Gr = Ctrl+Alt).
- Kombinacje typu Ctrl+Spacja+{klawisz} mogą powodować konflikty z kombinacją Ctrl+Spacja, która służy do przełączania trybów w językach azjatyckich.
- Należy starać się zachować kontekst nawigacji.
- Na przykład w przypadku opcji Okna > Preferencje jest teraz pamiętana ostatnio
wybrana strona. Pozwala to uniknąć ponownego przechodzenia do odpowiedniej strony.
- Należy wyznaczyć w zespole konkretną osobę, która będzie odpowiedzialna za ułatwienia dostępu w danym projekcie.
- Wszystkie ważne kwestie wymagają adwokata. Należy upewnić się, że wszyscy członkowie zespołu zdają sobie sprawę
ze znaczenia ułatwień dostępu i będą współpracowali z wyznaczoną osobą.
- Należy przetestować ułatwienia dostępu.
- Zespół programistyczny powinien czasem sprawdzić, czy można poprawnie korzystać z danego produktu "bez użycia myszy" (tylko za pomocą klawiatury). Programiści
w systemie Windows mogą pobrać kopię programu JAWSTM
i upewnić się, czy tworzony interfejs użytkownika współpracuje z tym narzędziem.