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: 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}.
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.