Kiosk'ta erişilebilirlik

ChromeOS'in kiosk modu, kullanıcı girişi gerektirmeden bir uygulamayı çalıştırır ve tam ekran modunda kilitler. Kiosk modu, kullanıcıların kontrollü ve odaklanmış bir şekilde bilgilere ve hizmetlere erişmesi için kullanışlı ve verimli bir yöntem sunar. Ancak kiosk modu deneyimi çok sıkı bir şekilde kontrol edildiğinden kiosk uygulamalarının herkes tarafından erişilebilir olduğundan emin olmak önemlidir. Kiosk erişilebilirliğini iyileştirmek, bilgi erişimindeki engelleri azaltarak erişimi genişletmeye ve kapsayıcılığı teşvik ederek müşteri memnuniyetini artırmaya yardımcı olabilir.

Kiosk modunda çalışan uygulamalar web uygulamalarıdır. Bu nedenle, web erişilebilirliğiyle ilgili en iyi uygulamalar bu uygulamalar için de geçerlidir:

  • Web İçeriği Erişilebilirlik Kuralları'na (WCAG 2) uyun. Kiosk uygulamalarını şirket içinde dağıtırken bile ekran okuyucu kullanılabilirliği gibi erişilebilirlik özelliklerinin sağlanması için en iyi yöntem WCAG 2'yi uygulamaktır. Kiosk uygulamanızı geliştirmek için erişilebilirlik alanında çalışanların sunduğu diğer harika tasarım ve geliştirme kaynaklarından da yararlanabilirsiniz:
  • Birden fazla giriş yöntemi sunun. Harekete dayalı gezinmeye güvenmeyin. Kullanıcıların uygulamayla etkileşim kurmak için klavye, fare veya anahtara ihtiyacı olabilir.
  • Birden fazla çıkış biçimi sunun. Ses gibi tek bir çıkış türüne güvenmeyin. Kullanıcıların bir uygulamayla tamamen ses olmadan veya tamamen görsel ipuçları olmadan etkileşimde bulunması gerekebilir.
  • Uygulamayı ve donanımını çeşitli kitlelerle test edin. En iyi uygulamaları yalnızca karşılamakla yetinmeyin, bunları test edin. Kullanıcıların bir kiosk uygulamasıyla hem fiziksel hem de dijital olarak etkileşim kurması gerekir. Deneyim testi, iyileştirilmesi gereken alanları belirler.
    • Olası erişilebilirlik sorunlarını ortaya çıkarmak için farklı özelliklere sahip test kullanıcılarını dahil ettiğinizden emin olun.
    • Kiosk uygulamasını, kullanılacağı ortamda ve donanımda test edin.

Kiosk uygulamaları kontrollü bir ortamda çalıştığından kullanıcılar, normalde kullandıkları ChromeOS erişilebilirlik özelliklerine veya donanım seçeneklerine erişemeyebilir. ChromeOS kiosk erişilebilirliği söz konusu olduğunda dikkate alınması gereken üç kontrol düzeyi vardır:

  • Politikalar: Yöneticiler, temel kiosk erişilebilirlik ayarları'na erişim de dahil olmak üzere yönetilen cihazlarının politikalarını kontrol eder.
  • API'ler: Geliştiriciler, chrome.accessibilityFeatures API'yi çağıran bir yardımcı uzantıyla kullanıcının kiosk uygulamalarıyla nasıl etkileşim kuracağını kontrol edebilir.
  • Donanım cihazları: Cihaz türü ve bağlı çevre birimleri, kullanıcının kiosk ile fiziksel olarak nasıl etkileşim kurduğunu (giriş cihazları, ekran boyutları ve platformlar dahil) kontrol eder.

Bu seviyeler birbirine çok bağımlıdır ve bu nedenle, gerçekten erişilebilir bir kiosk uygulaması deneyimi sağlamak için birlikte çalışmalıdır. Yöneticiler, kiosk uygulamalarını dağıtırken erişilebilirliği göz önünde bulundurmalıdır. Geliştiriciler ise dağıtıldıktan sonra uygulamanın yönetim ayarlarından nasıl etkilenebileceğinin farkında olmalıdır.

Kiosk yöneticileri için politika kontrolleri

Normal kullanıcı oturumundaki bir ChromeOS cihazda kullanıcılar, Ayarlar uygulamasındaki Erişilebilirlik bölümüne giderek erişilebilirlik ayarlarını yönetebilir. Kiosk modunda kullanıcılar varsayılan olarak Ayarlar uygulamasına erişemez. Bunun yerine, yöneticilerin erişilebilirlik ayarlarını etkinleştirerek kullanıcıların kiosk modundayken bu ayarlara erişmesine izin vermesi gerekir.

Yöneticiler, Google Yönetici Konsolu'nda Cihazlar > Chrome > Ayarlar > Cihaz ayarları sekmesine giderek "Kiosk erişilebilirlik" ayarlarını bulabilir.

Dikkat etmeniz gereken iki ana ayar vardır:

  • Kiosk kayan erişilebilirlik menüsü: Ayarlar uygulaması kiosk modunda kolayca kullanılamadığından bu ayarın etkinleştirilmesi, kullanıcıların erişilebilirlik ayarlarını kayan erişilebilirlik menüsü üzerinden değiştirmesine olanak tanır. Bu ayar yapılandırılmadığında varsayılan davranış, kayan erişilebilirlik menüsünün gösterilmemesidir.
  • Kiosk'ta erişilebilirlik kısayolları: Bu ayar etkinleştirildiğinde kullanıcılar klavye kısayollarını kullanarak erişilebilirlik özelliklerini açabilir. Ancak tüm özelliklerin karşılık gelen bir kısayolu olmadığını unutmayın. Bu ayar yapılandırılmadığında varsayılan davranış, kısayolların etkinleştirilmesidir.

Erişilebilirlik özelliklerini ayrı ayrı da yapılandırabilirsiniz. Varsayılan olarak "Kullanıcının karar vermesine izin ver" şeklinde yapılandırılırlar. Bu durumda, erişilebilirlik özelliklerini etkinleştirme veya devre dışı bırakma kararı kullanıcıya bırakılır.

Not: Her ayarın davranışı hakkında daha fazla bilgi edinmek için ChromeOS erişilebilirlik özelliklerinin tam listesini inceleyin.

Chrome uzantısı chrome.accessibilityFeatures API

Kiosk modunda kullanıcılar, kiosk kayan erişilebilirlik menüsünü veya ilgili klavye kısayollarını kullanarak erişilebilirlik özelliklerini etkinleştirebilir ya da devre dışı bırakabilir. Ancak bu, yöneticinin menüyü etkinleştirmiş olmasına bağlıdır ve tüm özelliklerin kısayolu yoktur. Bu nedenle, geliştiriciler uygun durumlarda erişilebilirlik ayarlarını doğrudan kiosk uygulamalarına entegre etmelidir. Örneğin, metin girişi gösterildiğinde kullanıcılara dikte özelliğini kullanma seçeneği sunma.

ChromeOS erişilebilirlik özelliklerinin durumuna chrome.accessibilityFeatures API üzerinden erişilebilir. Yönetici Konsolu'nda "Kullanıcının karar vermesine izin ver" olarak yapılandırıldığında erişilebilirlik özellikleri bu API üzerinden de kontrol edilebilir. Bu bir Chrome uzantısı API'si olduğundan, bir kiosk uygulamasıyla çalışan bir eşlikçi uzantıdan çağrılması gerekir. Geliştiriciler, her ayarın kontrol edilebilir olup olmadığını kontrol etmek ve ilgili yerleşik ChromeOS erişilebilirlik işlevleriyle etkileşim kurmak için bu API'yi kullanabilir.

chrome.accessibilityFeatures API'de her erişilebilirlik özelliği için ilgili bir özellik bulunur. Her özellik, aşağıdaki yöntemlere sahip bir type.ChromeSetting prototipidir:

  • get(): Ayarın değerini almak için.
  • set(): Ayarın değerini ayarlamak için.
  • onChange(): Ayar değiştiğinde dinleyici eklemek için.
  • clear(): Ayarı temizlemek ve varsayılan değerleri geri yüklemek için.

Bir mülkün durumunu almak için onChange() veya get() işlevini çağırın. Bu işlev, aşağıdaki ilgili alanları içeren bir geri çağırma yoluyla ayrıntılar nesnesi döndürür:

  • levelOfControl: Ayarın kontrol düzeyi. Bir ayarın değerini değiştirmek için set() işlevini çağırmadan önce ayarın uzantınız tarafından kontrol edilip edilemeyeceğini kontrol edin. Yöneticinin bir ayarı devre dışı bırakmak veya etkinleştirmek için açık bir politikası varsa levelOfControl'nın not_controllable olacağını ve API ile yapılandıramayacağınızı unutmayın.
  • value: Ayarın değeri. animationPolicy, allowed, once veya none değerlerinden oluşan bir enum olan animationPolicy hariç tüm erişilebilirlik özelliği özellikleri boolean türündedir.

Örneğin, önce mülkün bu uzantı tarafından yapılandırılabilir olup olmadığını kontrol ederek sanal klavye özelliğini etkinleştirelim.

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.');


		}

Kullanılabilir kontrol düzeyini ve mülkün geçerli değerini okumak için önce virtualKeyboard mülkünde get() işlevini çağırın. Bu uzantı tarafından kontrol edilebiliyorsa veya zaten bu uzantı tarafından kontrol ediliyorsa set() işlevini çağırmak ve virtualKeyboard özellik değerini değiştirmek güvenlidir. Özellik kontrol edilemiyorsa kullanıcıya bu ayarın değiştirilemeyeceğini bildirin ve uygunsa sistem yöneticisiyle iletişime geçmesini önerin.

chrome.accessibilityFeatures API ile yapılandırılabilen özellikler; metin okuma, ekran ve büyütme, klavye ve metin girişi, imleç ve dokunmatik yüzey olmak üzere aşağıdaki kategorilerde gruplandırılır.

Metin-konuşma

Metin okuma özellikleri, ekrandaki metinlerin ChromeOS'in yerleşik ekran okuyucusuyla sesli okunmasına olanak tanır. Bu özellikler, görme engelli olan, okuyamayan veya metni okumak yerine dinlemeyi tercih eden kullanıcıların cihazla etkileşim kurmasına olanak tanır.

  • selectToSpeak: Kullanıcıların ekranda sesli okunacak metinleri seçmesine olanak tanıyan Seç ve Dinle özelliğini kontrol eder.
  • spokenFeedback: Ekrandaki metni, düğmelerin, bağlantıların ve diğer öğelerin adlarını sesli okuyan bir ekran okuyucu olan ChromeVox özelliğini kontrol eder.

Ekran ve büyütme

Ekran ve büyüteç özellikleri, ekran renklerini değiştirir ve büyüteç seçenekleri sunarak ekranın okunmasını ve nesnelerin bulunmasını kolaylaştırır.

  • highContrast: Renk şemasını kontrastı artırılmış bir şemaya dönüştüren rengi ters çevirme özelliğini kontrol eder.
  • screenMagnifier: Ekrandaki öğeleri büyütmek için yakınlaştıran tam ekran büyüteci özelliğini kontrol eder.
  • dockedMagnifier: Ekranın odaklanılan alanlarını bölünmüş ekran görünümünde büyüten yerleşik büyüteç özelliğini kontrol eder.

Klavye ve metin girişi

Klavye ve metin girişi özellikleri, kullanıcılara ekrandaki içeriklerle etkileşim kurmak ve öğe girmek için farklı seçenekler sunar.

  • virtualKeyboard: Bu özellik, kullanıcıların fiziksel klavye kullanmadan yazmasına olanak tanıyan dokunmatik klavye özelliğini kontrol eder.
  • dictation: Bu özellik, kullanıcıların mikrofona konuşarak metin yazmasına ve girişi sesleriyle kontrol etmesine olanak tanıyan dikte özelliğini kontrol eder.
  • switchAccess: Bu özellik, kullanıcıların cihazlarını anahtarlarla (klavye tuşları, oyun kumandası düğmeleri ve diğer özel anahtar cihazları) kontrol etmelerine olanak tanıyan anahtar erişimi özelliğini kontrol eder.
  • stickyKeys: Bu özellik, kullanıcıların klavye kısayolları için aynı anda birden fazla tuşu basılı tutmak yerine her defasında bir tuşa basmasına olanak tanıyan yapışkan tuşlar özelliğini kontrol eder.
  • focusHighlight: Bu özellik, klavye odağını vurgulama özelliğini kontrol eder. Bu özellik, klavye odağına sahip nesneyi vurgular. Kullanıcılar, sekme tuşunu kullanarak veya fare imleciyle seçerek nesneler arasında gezinir.
  • caretHighlight: Bu özellik, metin imleci göründüğünde veya hareket ettiğinde etrafında odak halkası gösteren metin imleci (caret) vurgulama özelliğini kontrol eder.

İmleç

İmleç özellikleri, imleci özelleştirerek ekranda bulunmasını ve kullanılmasını kolaylaştırır.

  • autoclick: Bu özellik, fare imlecinin durduğu yerde otomatik olarak tıklamasını sağlayan otomatik tıklamalar özelliğini kontrol eder.
  • largeCursor: Bu özellik, fare imlecinin boyutunu artırarak daha görünür hale getiren büyük imleç özelliğini kontrol eder.
  • cursorColor: Bu özellik, imleç rengi özelliğini kontrol eder. cursorColor özelliğinin değeri yalnızca özelliğin etkin olup olmadığını gösterir. İmleç rengini belirtmez.
  • cursorHighlight: Bu özellik, hareket ederken fare imlecinin etrafında bir odak halkası gösteren imleç vurgulama özelliğini kontrol eder.

Donanım düzeyinde kiosk erişilebilirliği

Diğer uygulamalarda olduğu gibi, kiosk uygulamasının erişilebilirliği de dağıtıldığı cihazdan etkilenir. Geliştiriciler, kiosk uygulamalarının donanım düzeyinde erişilebilir olduğundan emin olmak için donanım ekipleriyle birlikte çalışmalıdır.

Kiosk uygulamaları, etkileşimli olmayan ekranlardan etkileşimli platformlara kadar tüm ChromeOS sistemlerine yüklenebilir. Kullanıcının bir kiosk uygulamasıyla etkileşimde bulunması gerektiğinde donanım düzeyinde belirli erişilebilirlik standartları önerilir:

  • Kiosk uygulamaları, tekerlekli sandalye veya benzeri hareketlilik yardımcıları kullanan kişiler tarafından erişilebilir ve kullanılabilir olmalıdır.
  • Kiosk donanımında fiziksel klavye ve fare seçeneği bulunmalıdır.
  • Kiosk uygulamalarında kulaklık jakı ve mikrofon desteği olmalıdır.
  • Kiosk donanımında, metin ve görüntülerin net ve görünür olması için yeterli boyutta ve çözünürlükte bir ekran bulunmalıdır.

Kiosk erişilebilirliği; politika kontrolleri, API'ler ve donanım gibi birçok unsura bağlıdır. Ancak kiosk erişilebilirliği temelde web erişilebilirliğidir. Kiosk uygulamanızda daha iyi erişilebilirlik sağlamak için yukarıdaki önerileri ve en iyi uygulamaları takip edin, kapsamlı kullanıcı testleri yapın ve WCAG 2 yönergelerini inceleyin.