Ułatwienia dostępu w kiosku

Tryb kiosku ChromeOS uruchamia aplikację i blokuje ją na pełnym ekranie bez konieczności logowania się użytkownika. Tryb kiosku to wygodny i skuteczny sposób na uzyskiwanie dostępu do informacji i usług w kontrolowany i skupiony sposób. Tryb kiosku jest jednak ściśle kontrolowany, dlatego ważne jest, aby aplikacje w tym trybie były dostępne dla wszystkich. Zwiększenie dostępności kiosku może pomóc w poszerzeniu zasięgu przez zmniejszenie barier w dostępie do informacji oraz w zwiększeniu zadowolenia klientów przez promowanie integracji.

Aplikacje działające w trybie kiosku to aplikacje internetowe, dlatego obowiązują w nich sprawdzone metody dotyczące ułatwień dostępu w internecie:

  • Postępuj zgodnie z wytycznymi dotyczącymi dostępności treści internetowych (WCAG 2). Nawet w przypadku wdrażania aplikacji na kioski wewnętrznie najlepszym sposobem na zapewnienie dostępności, np. możliwości korzystania z czytnika ekranu, jest przestrzeganie wytycznych WCAG 2. Możesz też skorzystać z innych przydatnych materiałów dotyczących projektowania i tworzenia aplikacji, które przygotowali specjaliści ds. ułatwień dostępu. Pomogą Ci one ulepszyć aplikację kiosku:
  • Zaoferuj wiele metod wprowadzania. Nie polegaj na nawigacji opartej na gestach. Do korzystania z aplikacji użytkownicy mogą potrzebować klawiatury, myszy lub przełącznika.
  • Oferuj wiele form wyjściowych. Nie polegaj na jednym typie wyjścia, np. dźwięku. Użytkownicy mogą wchodzić w interakcję z aplikacją bez dźwięku lub bez wskazówek wizualnych.
  • Testuj aplikację i jej sprzęt na zróżnicowanej grupie odbiorców. Nie polegaj na samych sprawdzonych metodach – testuj je. Użytkownicy muszą wchodzić w interakcje z aplikacją kiosku zarówno fizycznie, jak i cyfrowo. Testy wygody użytkowania pomogą Ci zidentyfikować obszary, które wymagają ulepszeń.
    • Zadbaj o to, aby w grupie testowej znalazły się osoby o różnych potrzebach, co pozwoli wykryć potencjalne problemy z dostępnością.
    • Przetestuj aplikację kiosku w miejscu, w którym będzie używana – w odpowiednim środowisku i na odpowiednim sprzęcie.

Aplikacje kiosku działają w kontrolowanym środowisku, więc użytkownicy mogą nie mieć dostępu do funkcji ułatwień dostępu ChromeOS ani opcji sprzętowych, których zwykle używają. W przypadku ułatwień dostępu na kioskach z ChromeOS należy wziąć pod uwagę 3 poziomy kontroli:

  • Zasady: administratorzy kontrolują zasady dotyczące zarządzanych urządzeń, w tym dostęp do podstawowych ustawień ułatwień dostępu na kiosku.
  • Interfejsy API: deweloperzy mogą kontrolować sposób interakcji użytkownika z aplikacją kiosku za pomocą rozszerzenia towarzyszącego, które wywołuje interfejs chrome.accessibilityFeatures API.
  • Urządzenia: typ urządzenia i podłączone do niego urządzenia peryferyjne określają sposób, w jaki użytkownik fizycznie wchodzi w interakcję z kioskiem, w tym urządzenia wejściowe, rozmiary ekranu i platformy.

Te poziomy są od siebie bardzo zależne, dlatego muszą działać razem, aby zapewnić prawdziwie dostępną aplikację kiosku. Administratorzy muszą brać pod uwagę ułatwienia dostępu podczas wdrażania aplikacji na kioski, a deweloperzy muszą być świadomi wpływu, jaki ustawienia administracyjne mogą mieć na ich aplikację po wdrożeniu.

Ustawienia zasad dla administratorów kiosków

Na urządzeniu z ChromeOS w normalnej sesji użytkownika mogą zarządzać ustawieniami ułatwień dostępu w sekcji Ułatwienia dostępu w aplikacji Ustawienia. W trybie kiosku użytkownicy domyślnie nie mają dostępu do aplikacji Ustawienia. Zamiast tego administratorzy muszą włączyć ustawienia ułatwień dostępu, aby umożliwić użytkownikom dostęp do nich w trybie kiosku.

Administratorzy mogą znaleźć ustawienia „Ułatwienia dostępu na kiosku” w konsoli administracyjnej Google, klikając Urządzenia > Chrome > Ustawienia > karta Ustawienia urządzenia.

Należy zwrócić uwagę na 2 główne ustawienia:

  • Pływające menu ułatwień dostępu kiosku: ponieważ aplikacja Ustawienia nie jest łatwo dostępna w trybie kiosku, włączenie tej opcji umożliwi użytkownikom przełączanie ustawień ułatwień dostępu za pomocą pływającego menu ułatwień dostępu. Gdy to ustawienie nie jest skonfigurowane, domyślnie pływające menu ułatwień dostępu nie jest wyświetlane.
  • Skróty klawiszowe funkcji ułatwień dostępu w kiosku: włączenie tej opcji umożliwi użytkownikom włączanie funkcji ułatwień dostępu za pomocą skrótów klawiszowych. Pamiętaj jednak, że nie wszystkie funkcje mają odpowiedni skrót. Jeśli to ustawienie nie jest skonfigurowane, domyślnie skróty są włączone.

Możesz też skonfigurować ułatwienia dostępu osobno. Domyślnie są one skonfigurowane jako „Pozwól użytkownikowi zdecydować”, co oznacza, że użytkownik może włączać i wyłączać funkcje ułatwień dostępu według własnego uznania.

Uwaga: pełną listę funkcji ułatwień dostępu w ChromeOS znajdziesz w artykule Ustawienia ułatwień dostępu w ChromeOS.

Rozszerzenie do Chrome chrome.accessibilityFeatures API

W trybie kiosku użytkownicy mogą włączać i wyłączać ułatwienia dostępu za pomocą pływającego menu ułatwień dostępu kiosku lub odpowiednich skrótów klawiszowych. Wymaga to jednak włączenia menu przez administratora, a nie wszystkie funkcje mają skrót. Dlatego deweloper powinien w odpowiednich przypadkach zintegrować ustawienia ułatwień dostępu bezpośrednio z aplikacją kiosku. Na przykład umożliwienie użytkownikom korzystania z dyktowania, gdy wyświetlane jest wprowadzanie tekstu.

Stan funkcji ułatwień dostępu w ChromeOS można sprawdzić za pomocą chrome.accessibilityFeatures interfejsu API. Jeśli w konsoli administracyjnej skonfigurujesz opcję „Pozwól użytkownikowi zdecydować”, funkcjami ułatwień dostępu można też sterować za pomocą tego interfejsu API. Jest to interfejs API rozszerzenia Chrome, więc musi być wywoływany z rozszerzenia towarzyszącego, które działa z aplikacją kiosku. Deweloperzy mogą używać tego interfejsu API, aby sprawdzać, czy poszczególne ustawienia można kontrolować, i korzystać z odpowiednich wbudowanych funkcji ułatwień dostępu w ChromeOS.

Interfejs chrome.accessibilityFeatures API ma właściwość odpowiadającą każdej funkcji ułatwień dostępu. Każda usługa to type.ChromeSetting prototyp, który ma te metody:

  • get(): aby uzyskać wartość ustawienia.
  • set(): aby ustawić wartość ustawienia.
  • onChange(): aby dodać odbiorcę, który będzie reagować na zmiany ustawień.
  • clear(): aby wyczyścić ustawienie i przywrócić wartości domyślne.

Aby uzyskać stan usługi, wywołaj funkcję onChange() lub get(), która zwraca obiekt szczegółów za pomocą wywołania zwrotnego z tymi polami:

  • levelOfControl: poziom kontroli nad ustawieniem. Zanim wywołasz funkcję set(), aby zmienić wartość ustawienia, sprawdź, czy rozszerzenie może kontrolować to ustawienie. Pamiętaj, że jeśli administrator ma wyraźną zasadę wyłączania lub włączania ustawienia, ikona levelOfControl będzie miała wartość not_controllable i nie będzie można jej skonfigurować za pomocą interfejsu API.
  • value: wartość ustawienia. Wszystkie właściwości funkcji ułatwień dostępu są typu logicznego, z wyjątkiem właściwości animationPolicy, która jest wyliczeniem składającym się z wartości allowed, once lub none.

Na przykład włączmy funkcję klawiatury wirtualnej, sprawdzając najpierw, czy usługa może być konfigurowana przez to rozszerzenie.

const virtualKeyboard = chrome.accessibilityFeatures.virtualKeyboard;
virtualKeyboard.get({},
	(details) => {
		// check the level of control for virtual keyboard
		if (details.levelOfControl == 'controllable_by_this_extension' || details.levelOfControl == 'controlled_by_this_extension') {
			// disable if virtualKeyboard is currently on
			if (details.value) {
				virtualKeyboard.set({value: false}, () => console.log('Virtual keyboard has been disabled');
			} else { // enable if virtualKeyboard is currently off
				virtualKeyboard.set({value: true}, () => console.log('Virtual keyboard has been enabled');
			}
		} else {
			// the setting is not controllable by this extension because it cannot be controlled by any extension or it's being controlled by an extension with higher precedence
			console.log('Virtual keyboard setting cannot be changed.');


		}

Najpierw wywołaj funkcję get() w usłudze virtualKeyboard, aby odczytać dostępny poziom kontroli i bieżącą wartość usługi. Jeśli można nią sterować za pomocą tego rozszerzenia lub jest już przez nie sterowana, można bezpiecznie wywołać funkcję set() i przełączyć wartość właściwości virtualKeyboard. Jeśli nie można kontrolować usługi, poinformuj użytkownika, że nie można przełączyć tego ustawienia, i w razie potrzeby zalęć mu skontaktowanie się z administratorem systemu.

Dostępne właściwości, które można skonfigurować za pomocą interfejsu chrome.accessibilityFeatures API, są podzielone na te kategorie: zamiana tekstu na mowę, wyświetlanie i powiększanie, klawiatura i wprowadzanie tekstu oraz kursor i touchpad.

Zamiana tekstu na mowę

Funkcje zamiany tekstu na mowę umożliwiają odczytywanie na głos tekstu widocznego na ekranie za pomocą wbudowanego czytnika ekranu ChromeOS. Niezależnie od tego, czy użytkownik ma problemy ze wzrokiem, nie potrafi czytać czy woli słuchać tekstu zamiast go czytać, te funkcje umożliwiają mu korzystanie z urządzenia.

  • selectToSpeak: steruje funkcją Przeczytaj na głos, która umożliwia użytkownikom wybranie tekstu na ekranie i odtworzenie go na głos.
  • spokenFeedback: steruje funkcją ChromeVox, czyli czytnikiem ekranu, który odczytuje na głos tekst na ekranie oraz nazwy przycisków, linków i innych elementów.

Wyświetlanie i powiększenie

Funkcje wyświetlania i powiększania zmieniają kolory wyświetlacza i zapewniają opcje powiększania, dzięki czemu ekran jest bardziej czytelny, a obiekty łatwiejsze do znalezienia.

  • highContrast: steruje funkcją odwracania kolorów, która zmienia schemat kolorów na schemat o zwiększonym kontraście.
  • screenMagnifier: steruje funkcją lupy pełnego ekranu, która powiększa elementy na ekranie.
  • dockedMagnifier: steruje funkcją lupy zadokowanej, która powiększa wybrane obszary ekranu w widoku podzielonego ekranu.

Klawiatura i wprowadzanie tekstu

Funkcje klawiatury i wpisywania tekstu dają użytkownikom różne możliwości interakcji z treściami i elementami na ekranie.

  • virtualKeyboard: ta właściwość steruje funkcją klawiatury ekranowej, która umożliwia użytkownikom pisanie bez używania klawiatury fizycznej.
  • dictation: ta właściwość kontroluje funkcję dyktowania, która umożliwia użytkownikom wpisywanie tekstu przez mówienie do mikrofonu i sterowanie wpisywaniem za pomocą głosu.
  • switchAccess: ta właściwość kontroluje funkcję dostępu za pomocą przełączników, która umożliwia użytkownikom sterowanie urządzeniem za pomocą przełączników (klawiszy klawiatury, przycisków pada do gier i innych urządzeń przełączających).
  • stickyKeys: ta właściwość kontroluje funkcję klawiszy trwałych, która umożliwia użytkownikom naciskanie pojedynczych klawiszy w celu użycia skrótów klawiszowych zamiast przytrzymywania kilku klawiszy jednocześnie.
  • focusHighlight: ta właściwość kontroluje funkcję wyróżniania zaznaczenia klawiatury, która wyróżnia obiekt zaznaczony przez klawiaturę. Użytkownicy poruszają się między obiektami za pomocą klawisza Tab lub wybierają je za pomocą kursora myszy.
  • caretHighlight: ta właściwość steruje funkcją podświetlania kursora tekstowego, która wyświetla pierścień zaznaczenia wokół kursora tekstowego, gdy się pojawia lub porusza.

Kursor

Funkcje kursora umożliwiają dostosowanie kursora, dzięki czemu łatwiej go znaleźć na ekranie i z niego korzystać.

  • autoclick: ta właściwość kontroluje funkcję automatycznych kliknięć, która umożliwia automatyczne klikanie kursorem myszy w miejscu, w którym się zatrzyma.
  • largeCursor: ta właściwość kontroluje funkcję dużego kursora, która zwiększa rozmiar kursora myszy, aby był bardziej widoczny.
  • cursorColor: ta właściwość kontroluje funkcję koloru kursora. Wartość właściwości cursorColor wskazuje tylko, czy funkcja jest włączona. Nie wskazuje koloru kursora.
  • cursorHighlight: ta właściwość steruje funkcją podświetlania kursora, która wyświetla pierścień zaznaczenia wokół kursora myszy, gdy się porusza.

Ułatwienia dostępu w kiosku na poziomie sprzętu

Podobnie jak w przypadku innych aplikacji, dostępność aplikacji kiosku zależy też od urządzenia, na którym jest ona wdrożona. Deweloperzy muszą współpracować z zespołem ds. sprzętu, aby mieć pewność, że aplikacja kiosku jest dostępna na poziomie sprzętu.

Aplikacje kiosku można instalować na dowolnym systemie ChromeOS, od wyświetlaczy nieinteraktywnych po platformy interaktywne. Gdy użytkownik ma korzystać z aplikacji na kiosku, zalecamy przestrzeganie określonych standardów ułatwień dostępu na poziomie sprzętu:

  • Aplikacje kiosku powinny być dostępne dla osób, które korzystają z wózka inwalidzkiego lub podobnego urządzenia wspomagającego poruszanie się.
  • Sprzęt kiosku powinien mieć opcję klawiatury fizycznej i myszy.
  • Aplikacje na kioski powinny obsługiwać gniazdo słuchawkowe i mikrofon.
  • Urządzenie kioskowe powinno mieć ekran o odpowiednim rozmiarze i rozdzielczości, aby tekst i obrazy były wyraźne i widoczne.

Ułatwienia dostępu w kiosku zależą od wielu czynników: kontroli zasad, interfejsów API i sprzętu. Ułatwienia dostępu w kioskach to w zasadzie ułatwienia dostępu w internecie. Aby zwiększyć dostępność aplikacji na kioski, postępuj zgodnie z powyższymi rekomendacjami i sprawdzonymi metodami, przeprowadzaj dokładne testy z udziałem użytkowników i zapoznaj się z wytycznymi WCAG 2.