Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tworzenie dostępnej aplikacji ma ważne konsekwencje biznesowe. Wiele rządów ma przepisy dotyczące ułatwień dostępu do zakupu oprogramowania. Logo Certyfikowane dla systemu Windows zawiera wymagania dotyczące ułatwień dostępu. Szacuje się, że 30 milionów mieszkańców samych STANÓW Zjednoczonych, wielu z nich potencjalnych klientów, ma wpływ na dostępność oprogramowania.
Ten przewodnik będzie dotyczył pięciu wymagań dotyczących ułatwień dostępu dla logo certyfikowanego dla systemu Windows. Zgodnie z tymi wymaganiami aplikacja dostępna będzie:
Obsługa ustawień panelu sterowania, koloru, czcionki i danych wejściowych. Pasek menu, pasek tytułu, obramowania i pasek stanu zmieni się, gdy użytkownik zmieni ustawienia panelu sterowania. W tej aplikacji nie są wymagane żadne dodatkowe zmiany kontrolek ani kodu.
Obsługa trybu dużego kontrastu.
Zapewnij udokumentowany dostęp za pomocą klawiatury do wszystkich funkcji.
Uwidocznij wizualnie i programowo lokalizację fokusu klawiatury.
Unikaj przekazywania ważnych informacji przez sam dźwięk.
Aby uzyskać więcej informacji, zobacz Zasoby do projektowania aplikacji dostępnych.
Aby uzyskać informacje na temat obsługi różnych układów klawiatury, zobacz Best Practices for Developing World-Ready Applications.
Tworzenie projektu
Ten przewodnik tworzy interfejs użytkownika dla aplikacji, która pobiera zamówienia na pizzę. Składa się z TextBox dla nazwy klienta, grupy RadioButton do wybrania rozmiaru pizzy, CheckedListBox do wyboru dodatków, dwóch kontrolek Przycisk oznaczonych etykietą Zamów i Anuluj oraz Menu z poleceniem Zakończ.
Użytkownik wprowadza nazwę klienta, rozmiar pizzy i żądane dodatki. Gdy użytkownik kliknie przycisk Zamówienie, podsumowanie zamówienia i jego koszt są wyświetlane w oknie komunikatu, a kontrolki są wyczyszczone i gotowe do następnego zamówienia. Gdy użytkownik kliknie przycisk Anuluj, kontrolki zostaną wyczyszczone i gotowe do następnego zamówienia. Gdy użytkownik kliknie element menu Zakończ, program zostanie zamknięty.
Celem tego przewodnika nie jest kod systemu zamówień detalicznych, ale dostępność interfejsu użytkownika. Przewodnik przedstawia funkcje ułatwień dostępu kilku często używanych kontrolek, w tym przycisków, przycisków radiowych, pól tekstowych i etykiet.
Aby rozpocząć tworzenie aplikacji
- Utwórz nową aplikację systemu Windows w Visual Basic lub Visual C#. Nadaj projektowi nazwę PizzaOrder. Aby uzyskać szczegółowe informacje, zobacz Tworzenie nowych rozwiązań i projektów.
Dodawanie kontrolek do formularza
Podczas dodawania kontrolek do formularza należy pamiętać o następujących wytycznych, aby udostępnić aplikację:
Ustaw właściwości AccessibleDescription i AccessibleName. W tym przykładzie ustawienie domyślne dla AccessibleRole jest wystarczające. Aby uzyskać więcej informacji na temat właściwości ułatwień dostępu, zobacz Zapewnianie informacji o ułatwieniach dostępu dla kontrolek w formularzu systemu Windows.
Ustaw rozmiar czcionki na 10 punktów lub większych.
Uwaga / Notatka
Jeśli podczas uruchamiania ustawisz rozmiar czcionki formularza na 10, wszystkie kontrolki dodane następnie do formularza będą miały rozmiar czcionki 10.
Upewnij się, że każda kontrolka Etykiety opisująca kontrolkę TextBox bezpośrednio poprzedza ją w kolejności tabulacji.
Dodaj klucz dostępu przy użyciu znaku "&" do właściwości Text dowolnej kontrolki, do której użytkownik może chcieć przejść.
Dodaj klucz dostępu przy użyciu znaku "&" do właściwości Text etykiety, która poprzedza kontrolkę, do której użytkownik może chcieć przejść. Ustaw właściwość UseMnemonic etykiet na
true, aby po naciśnięciu klawisza dostępu fokus był ustawiony na następną kontrolkę w kolejności tabulacji.Dodaj klucze dostępu do wszystkich elementów menu.
Aby aplikacja systemu Windows była dostępna
Dodaj kontrolki do formularza i ustaw właściwości zgodnie z poniższym opisem. Zobacz obraz na końcu tabeli, aby zapoznać się z modelem sposobu rozmieszczania kontrolek w formularzu.
Przedmiot Majątek Wartość Formularz1 Opis dostępności Formularz zamówienia NazwaDostępna Formularz zamówienia Rozmiar czcionki 10 Tekst Formularz zamówienia pizzy PictureBox Nazwa logotyp Opis dostępności Kawałek pizzy NazwaDostępna Logo firmy Obraz Dowolna ikona lub mapa bitowa Etykieta Nazwa etykieta firmy Tekst Dobra pizza TabIndex 1 Opis dostępności Nazwa firmy NazwaDostępna Nazwa firmy Kolor tła Niebieski Kolor pierwszoplanowy Żółty Rozmiar czcionki 18 Etykieta Nazwa etykieta klienta Tekst &nazwa TabIndex 2 Opis dostępności Etykieta nazwy klienta NazwaDostępna Etykieta nazwy klienta UseMnemonic Prawda Pole tekstowe Nazwa NazwaKlienta Tekst (brak) TabIndex 3 Opis dostępności Nazwa klienta NazwaDostępna Nazwa klienta Ramka grupy Nazwa opcje rozmiaru Opis dostępności Opcje rozmiaru pizzy NazwaDostępna Opcje rozmiaru pizzy Tekst Rozmiar pizzy TabIndex 4 Przycisk radiowy Nazwa smallPizza Tekst &Mały 6,00 USD Sprawdzane Prawda TabIndex 0 Opis dostępności Mała pizza NazwaDostępna Mała pizza Przycisk radiowy Nazwa largePizza Tekst &duże 10 zł TabIndex 1 Opis dostępności Duża pizza NazwaDostępna Duża pizza Etykieta Nazwa etykieta dodatków Tekst &toppings (0,75 USD każdy) Indeks zakładki 5 Opis dostępności Etykieta dodatków NazwaDostępna Etykieta dodatków UseMnemonic Prawda Pole listy kontrolnej Nazwa Polewy TabIndex 6 Opis dostępności Dostępne dodatki NazwaDostępna Dostępne dodatki Przedmioty Pepperoni, kiełbasa, grzyby Przycisk Nazwa porządek Tekst &Zamówienie TabIndex 7 Opis dostępności Łączna liczba zamówień NazwaDostępna Łączna kolejność Przycisk Nazwa Anuluj Tekst &Anuluj TabIndex 8 Opis dostępności Anulowanie zamówienia NazwaDostępna Anulowanie zamówienia Menu Główne Nazwa GłówneMenu MenuItem Nazwa komendy plikowe Tekst plik & MenuItem Nazwa zamknijAplikację Tekst E&Wyjście Formularz będzie wyglądać podobnie do poniższego obrazu:
Obsługa trybu dużego kontrastu
Tryb dużego kontrastu to ustawienie systemu Windows, które zwiększa czytelność przy użyciu kontrastujących kolorów i rozmiarów czcionek, które są korzystne dla użytkowników niedowidzących. Właściwość HighContrast jest udostępniana w celu określenia, czy jest ustawiony tryb wysokiego kontrastu.
Jeśli element SystemInformation.HighContrast jest true, aplikacja powinna:
Wyświetlanie wszystkich elementów interfejsu użytkownika przy użyciu schematu kolorów systemu
Przekazuj informacje przekazywane za pomocą koloru również za pomocą wizualnych lub dźwiękowych wskazówek. Jeśli na przykład określone elementy listy są wyróżnione przy użyciu czerwonej czcionki, możesz również dodać pogrubienie do czcionki, aby użytkownik miał niekolorowy sygnał, że elementy są wyróżnione.
Pomiń wszystkie obrazy lub wzorce za tekstem
Aplikacja powinna sprawdzić ustawienie HighContrast podczas uruchamiania aplikacji i odpowiadania na zdarzenie systemowe UserPreferenceChanged. Zdarzenie UserPreferenceChanged jest wywoływane za każdym razem, gdy wartość HighContrast się zmienia.
W naszej aplikacji jedynym elementem, który nie korzysta z ustawień systemowych dla koloru, jest lblCompanyName. Klasa SystemColors służy do zmiany ustawień kolorów etykiety na kolory systemowe wybrane przez użytkownika.
Aby włączyć tryb dużego kontrastu w skuteczny sposób
Utwórz metodę ustawiania kolorów etykiety na kolory systemowe.
Private Sub SetColorScheme() If SystemInformation.HighContrast Then companyLabel.BackColor = SystemColors.Window companyLabel.ForeColor = SystemColors.WindowText Else companyLabel.BackColor = Color.Blue companyLabel.ForeColor = Color.Yellow End If End Subprivate void SetColorScheme() { if (SystemInformation.HighContrast) { companyLabel.BackColor = SystemColors.Window; companyLabel.ForeColor = SystemColors.WindowText; } else { companyLabel.BackColor = Color.Blue; companyLabel.ForeColor = Color.Yellow; } }Wywołaj procedurę
SetColorSchemew konstruktorze formularza (Public Sub New()w visual basic ipublic Form1()w języku Visual C#). Aby uzyskać dostęp do konstruktora w Visual Basic, należy rozwinąć region oznaczony jako wygenerowany kod przez Windows Form Designer.Public Sub New() MyBase.New() InitializeComponent() SetColorScheme() End Subpublic Form1() { InitializeComponent(); SetColorScheme(); }Utwórz procedurę zdarzenia z odpowiednim podpisem, aby odpowiedzieć na zdarzenie UserPreferenceChanged.
Protected Sub UserPreferenceChanged(sender As Object, _ e As Microsoft.Win32.UserPreferenceChangedEventArgs) SetColorScheme() End Subpublic void UserPreferenceChanged(object sender, Microsoft.Win32.UserPreferenceChangedEventArgs e) { SetColorScheme(); }Dodaj kod do konstruktora formularza po wywołaniu metody
InitializeComponents, aby podłączyć procedurę zdarzenia do zdarzenia systemowego. Ta metoda wywołuje proceduręSetColorScheme.Public Sub New() MyBase.New() InitializeComponent() SetColorScheme() AddHandler Microsoft.Win32.SystemEvents.UserPreferenceChanged, _ AddressOf Me.UserPreferenceChanged End Subpublic Form1() { InitializeComponent(); SetColorScheme(); Microsoft.Win32.SystemEvents.UserPreferenceChanged += new Microsoft.Win32.UserPreferenceChangedEventHandler( this.UserPreferenceChanged); }Dodaj kod do metody Dispose formularza przed wywołaniem metody Dispose klasy bazowej, aby zwolnić zdarzenie po zamknięciu aplikacji. Aby uzyskać dostęp do metody Dispose w języku Visual Basic, należy rozwinąć region opisany etykietą Wygenerowany kod programu Windows Form Designer.
Uwaga / Notatka
Kod zdarzenia systemu uruchamia wątek oddzielony od głównej aplikacji. Jeśli nie zwolnisz zdarzenia, kod podłączony do zdarzenia uruchomi się, nawet po zamknięciu programu.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then components.Dispose() End If RemoveHandler Microsoft.Win32.SystemEvents.UserPreferenceChanged, _ AddressOf Me.UserPreferenceChanged MyBase.Dispose(disposing) End Subprotected override void Dispose(bool disposing) { if(disposing && components != null) { components.Dispose(); } Microsoft.Win32.SystemEvents.UserPreferenceChanged -= new Microsoft.Win32.UserPreferenceChangedEventHandler( this.UserPreferenceChanged); base.Dispose( disposing ); }Naciśnij F5, aby uruchomić aplikację.
Przekazywanie ważnych informacji za pomocą środków innych niż dźwięk
W tej aplikacji żadne informacje nie są przekazywane przez dźwięk sam. Jeśli używasz dźwięku w aplikacji, należy również podać informacje w inny sposób.
Aby dostarczyć informacje za pomocą innych środków niż dźwięk
Ustaw pasek tytułu na flash przy użyciu funkcji interfejsu API systemu Windows FlashWindow. Aby zapoznać się z przykładem wywoływania funkcji interfejsu API systemu Windows, zobacz przewodnik : wywoływanie interfejsów API systemu Windows.
Uwaga / Notatka
Użytkownik może mieć włączoną usługę Windows SoundSentry, co spowoduje, że okno będzie migać, gdy dźwięki systemowe są odtwarzane przez wbudowany głośnik komputera.
Wyświetl ważne informacje w oknie niemodalnym, aby użytkownik mógł mu odpowiedzieć.
Wyświetl okno komunikatu, które uzyskuje uwagę klawiatury. Unikaj tej metody, gdy użytkownik może pisać.
Wyświetl wskaźnik stanu w obszarze powiadomień o stanie paska zadań. Aby uzyskać szczegółowe informacje, zobacz Dodawanie ikon aplikacji do paska zadań za pomocą składnika NotifyIcon Windows Forms.
Testowanie aplikacji
Przed wdrożeniem aplikacji należy przetestować zaimplementowane funkcje ułatwień dostępu.
Aby przetestować funkcje ułatwień dostępu
Aby przetestować dostęp za pomocą klawiatury, odłącz mysz i przejdź do interfejsu użytkownika dla każdej funkcji przy użyciu tylko klawiatury. Upewnij się, że wszystkie zadania mogą być wykonywane tylko za pomocą klawiatury.
Aby przetestować obsługę dużego kontrastu, wybierz ikonę Opcje ułatwień dostępu w Panelu sterowania. Kliknij kartę Wyświetlanie i zaznacz pole wyboru Użyj dużego kontrastu. Przejdź przez wszystkie elementy interfejsu użytkownika, aby upewnić się, że zmiany koloru i czcionki zostaną odzwierciedlone. Upewnij się również, że pominięto obrazy lub wzorce rysowane za tekstem.
Uwaga / Notatka
System Windows NT 4 nie ma ikony Opcje ułatwień dostępu w Panelu sterowania. W związku z tym ta procedura zmiany ustawienia SystemInformation.HighContrast nie działa w systemie Windows NT 4.
Inne narzędzia są łatwo dostępne do testowania ułatwień dostępu aplikacji.
Aby przetestować uwidocznianie fokusu klawiatury, uruchom lupę. (Aby go otworzyć, kliknij menu Start, wskaż polecenie Programy, wskaż polecenie Akcesoria, wskaż polecenie Ułatwienia dostępu, a następnie kliknij przycisk Lupa). Nawiguj po interfejsie użytkownika przy użyciu tabulatorów klawiatury i myszy. Upewnij się, że nawigacja jest prawidłowo śledzona w Lupa.
Aby przetestować uwidacznianie elementów ekranu, uruchom polecenie Inspect i użyj zarówno myszy, jak i TAB, aby dotrzeć do każdego elementu. Upewnij się, że informacje przedstawione w polach Nazwa, Stan, Rola, Lokalizacja i Wartość okna Inspekcja mają znaczenie dla użytkownika dla każdego obiektu w interfejsie użytkownika.
.NET Desktop feedback