İzlenecek yol: Erişilebilir bir Windows Tabanlı Uygulama Oluşturma
Erişilebilir bir uygulama oluşturmak önemli iş etkilerine sahiptir. Birçok kamu yazılımı, yazılım satın alma için erişilebilirlik düzenlemelerine sahiptir. sertifikalı Windows logosu erişilebilirlik gereksinimlerini içerir. ABD 'deki tahmini bir 30.000.000 sakın tek başına, potansiyel müşterilerinin çoğu yazılım erişilebilirliğiyle etkilenir.
bu izlenecek yol, sertifikalı Windows logosu için beş erişilebilirlik gereksinimini ele alacak. Bu gereksinimlere göre, erişilebilir bir uygulama şunları sağlar:
Denetim Masası boyutunu, rengini, yazı tipini ve giriş ayarlarını destekler. Kullanıcı denetim masası ayarlarını değiştirdiğinde, menü çubuğu, başlık çubuğu, kenarlıklar ve durum çubuğunun hepsi kendini yeniden boyutlandıracaktır. Bu uygulamada denetimlerde veya kodda ek değişiklik yapılması gerekmez.
Yüksek Karşıtlık modunu destekler.
Tüm özelliklere belgelenmiş klavye erişimi sağlar.
Klavye odağının konumunu görsel ve programlı olarak ortaya çıkarın.
Önemli bilgileri seslerle tek başına vermekten kaçının.
Daha fazla bilgi için bkz. erişilebilir uygulamalar tasarlama kaynakları.
Farklı klavye düzenlerini destekleme hakkında daha fazla bilgi için bkz. Dünya çapında kullanılabilecek uygulamalar geliştirmek Için En Iyi uygulamalar.
Projeyi Oluşturma
Bu izlenecek yol, pizza siparişi alan bir uygulama için Kullanıcı arabirimi oluşturur. Bu, TextBox müşterinin adı için, bir RadioButton Grup olan pizza boyutunu seçme, toppings seçmek için bir grup, CheckedListBox Order ve Cancel etiketli iki düğme denetimi ve çıkış komutuyla bir menü içerir.
Kullanıcı müşterinin adını, pizza boyutunu ve toppings istenen şekilde girer. Kullanıcı sipariş düğmesine tıkladığında, siparişin Özeti ve maliyeti bir ileti kutusunda görüntülenir ve denetimler temizlenir ve bir sonraki sırada kullanılabilir. Kullanıcı Iptal düğmesine tıkladığında, denetimler temizlenir ve bir sonraki sıraya göre hazırlanalınır. Kullanıcı çıkış menü öğesine tıkladığında program kapanır.
Bu izlenecek yolun vurgusu, bir perakende sipariş sisteminin kodu değil, Kullanıcı arabiriminin erişilebilirliği değildir. İzlenecek yol, düğmeler, radyo düğmeleri, metin kutuları ve Etiketler dahil olmak üzere, sık kullanılan birçok denetimin erişilebilirlik özelliklerini gösterir.
Uygulamayı yapmaya başlamak için
- Visual Basic veya Visual C# ' de yeni bir Windows uygulaması oluşturun. Projeyi PizzaOrderolarak adlandırın. Ayrıntılar için bkz. yeni çözümler ve projeler oluşturma.
Forma denetim ekleme
Denetimleri bir forma eklerken, erişilebilir bir uygulama oluşturmak için aşağıdaki yönergeleri aklınızda bulundurun:
AccessibleDescriptionVe özelliklerini ayarlayın AccessibleName . Bu örnekte, için varsayılan ayar AccessibleRole yeterlidir. erişilebilirlik özellikleri hakkında daha fazla bilgi için bkz. Windows formundaki denetimler için erişilebilirlik bilgileri sağlama.
Yazı tipi boyutunu 10 noktaya veya daha büyük olarak ayarlayın.
Not
Başlattığınız sırada formun yazı tipi boyutunu 10 olarak ayarlarsanız, daha sonra forma eklenen tüm denetimlerin 10 yazı tipi boyutu olur.
TextBox denetimini açıklayan etiket denetiminin, sekme düzeninde TextBox denetiminden hemen önce geldiğinden emin olun.
&Text Kullanıcının gitmek isteyebileceğiniz herhangi bir denetimin özelliğine "" karakterini kullanarak bir erişim anahtarı ekleyin.
&Text Kullanıcının gitmek isteyebileceğiniz bir denetimin önündeki etiketin özelliğine "" karakterini kullanarak bir erişim anahtarı ekleyin. UseMnemonic
trueKullanıcı erişim tuşuna bastığında, odağın sekme sırasında bir sonraki denetime ayarlanabilmesi için etiketlerin ' özelliğini olarak ayarlayın.Tüm menü öğelerine erişim anahtarları ekleyin.
Windows uygulamanızı erişilebilir hale getirmek için
Denetimleri forma ekleyin ve aşağıda açıklandığı gibi özellikleri ayarlayın. Form üzerinde denetimlerin nasıl düzenlendiğini gösteren bir model için tablonun sonundaki resme bakın.
Nesne Özellik Değer Form1 Erişilebilir açıklama Sipariş formu Erişilebilir ad Sipariş formu Yazı tipi boyutu 10 Metin Pizza sırası formu PictureBox Name logo Erişilebilir açıklama Pizza dilimi Erişilebilir ad Şirket logosu Görüntü Herhangi bir simge veya bit eşlem Etiketle Name companyLabel Metin İyi pizza Atan 1 Erişilebilir açıklama Şirket adı Erişilebilir ad Şirket adı Rengi Mavi ForeColor Yellow Yazı tipi boyutu 18 Etiketle Name customerLabel Metin &Name Atan 2 Erişilebilir açıklama Müşteri adı etiketi Erişilebilir ad Müşteri adı etiketi Useanımsatıcı Doğru TextBox Name customerName Metin (yok) Tabındex 3 Accessibledescription Müşteri adı Accessiblename Müşteri adı GroupBox Name sizeOptions Accessibledescription Pizza boyutu seçenekleri Accessiblename Pizza boyutu seçenekleri Metin Pizza boyutu Tabındex 4 RadioButton Name smallPizza Metin &Küçük 6,00 ABD doları İşaretli Doğru Tabındex 0 Accessibledescription Küçük pizza Accessiblename Küçük pizza RadioButton Name largePizza Metin &Büyük 10,00 ABD doları Tabındex 1 Accessibledescription Büyük pizza Accessiblename Büyük pizza Etiketle Name toppingsLabel Metin &Toppings (her biri 0,75 ABD doları) Tabındex 5 Accessibledescription Toppings etiketi Accessiblename Toppings etiketi UseMnemonic Doğru Checkedlistbox Name Topingler Tabındex 6 Accessibledescription Kullanılabilir topping'ler Accessiblename Kullanılabilir topping'ler Öğeler Sucuk, Yer, Yer Düğme Name sıra Metin &Sipariş Tabındex 7 Accessibledescription Siparişin toplam sayısı Accessiblename Toplam sipariş Düğme Name iptal Metin &İptal Tabındex 8 Accessibledescription Siparişi iptal etme Accessiblename Siparişi iptal etme Mainmenu Name theMainMenu MenuItem Name fileCommands Metin &Dosya MenuItem Name exitApp Metin E- & çı Formunuz aşağıdaki görüntüye benzer bir şekilde görünür:

Yüksek Karşıtlık modunu destekleme
Yüksek Karşıtlık modu, görme engelli kullanıcılar için faydalı olan karşıt renkler ve yazı tipi boyutlarını kullanarak okunabilirliği artıran bir Windows sistem ayarıdır. HighContrastÖzelliği, yüksek karşıtlık modunun ayarlanmış olup olmadığını belirlemesi için sağlanır.
SystemInformation. Highkarşıtlıklı ise true , uygulamanın şunları yapmanız gerekir:
Sistem renk şemasını kullanarak tüm Kullanıcı arabirimi öğelerini görüntüleme
Görsel ipuçlarıyla veya renk aracılığıyla ileten tüm bilgileri sesleyerek bir şekilde dolaşın. Örneğin, belirli liste öğeleri kırmızı bir yazı tipi kullanılarak vurgulanmışsa, yazı tipine de kalın ekleyebilirsiniz, böylece kullanıcının öğelerin vurgulandığı bir Color olmayan ipucu vardır.
Metnin arkasındaki görüntüleri veya desenleri atlayın
Uygulamanın, HighContrast uygulamanın başladığı ve sistem olayına yanıt verdiği ayarı denetlemesi gerekir UserPreferenceChanged . UserPreferenceChangedOlay her değişiklik değeri her değiştiğinde tetiklenir HighContrast .
Uygulamamızda, Color için sistem ayarlarını kullanmayan tek öğe lblCompanyName . SystemColorsSınıfı, etiketin renk ayarlarını kullanıcı tarafından seçilen sistem renkleriyle değiştirmek için kullanılır.
Yüksek Karşıtlık modunu etkili bir şekilde etkinleştirmek için
Etiketin renklerini sistem renkleriyle ayarlamak için bir yöntem oluşturun.
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; } }SetColorSchemeyordamını form oluşturucusunda çağırın (Public Sub New()Visual Basic vepublic Form1()Visual C# ' de). Visual Basic oluşturucuya erişmek için, Windows Form tasarımcısı tarafından oluşturulan kodetiketli bölgeyi genişletmeniz gerekecektir.Public Sub New() MyBase.New() InitializeComponent() SetColorScheme() End Subpublic Form1() { InitializeComponent(); SetColorScheme(); }Olaya yanıt vermek için uygun imzayla bir olay yordamı oluşturun UserPreferenceChanged .
Protected Sub UserPreferenceChanged(sender As Object, _ e As Microsoft.Win32.UserPreferenceChangedEventArgs) SetColorScheme() End Subpublic void UserPreferenceChanged(object sender, Microsoft.Win32.UserPreferenceChangedEventArgs e) { SetColorScheme(); }Olay yordamını sistem olayına bağlamak için, çağrısından sonra form oluşturucusuna kod ekleyin
InitializeComponents. Bu yöntem yordamı çağırırSetColorScheme.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); }DisposeDispose Uygulama kapandığında olayı serbest bırakmak için, temel sınıfın yöntemine çağrıdan önce, form yöntemine kod ekleyin. DisposeVisual Basic yönteme erişmek için, Windows Form tasarımcısı tarafından üretilen kod etiketli bölgeyi genişletmeniz gerekir.
Not
Sistem olay kodu, ana uygulamadan ayrı bir iş parçacığı çalıştırır. Olayı yayınlamayın, olaya yedeklediğiniz kod Program kapatıldıktan sonra bile çalışacaktır.
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 ); }Uygulamayı çalıştırmak için F5'e basın.
Önemli bilgileri ses dışındaki yollarla uygulamaya göre
Bu uygulamada, hiçbir bilgi yalnızca ses ile değil. Uygulamanızda ses kullanıyorsanız, bu bilgileri başka bir yöntemle de sağlamanız gerekir.
Daha fazla bilgi için sesinden farklı bir şekilde bilgi sağlamak için
Windows apı işlevi flashwindow kullanarak başlık çubuğunu flash yapın. Windows apı işlevlerinin nasıl çağrılacağını gösteren bir örnek için bkz. izlenecek yol: Windows apı 'leri çağırma.
Not
kullanıcı Windows ses nöbetçisi hizmeti etkin olabilir, bu da sistem seslerinin bilgisayarın yerleşik konuşmacı aracılığıyla çalınması durumunda pencerenin yanıp sönmesine neden olur.
Kullanıcının yanıt verebilmesi için, önemli bilgileri kalıcı olmayan bir pencerede görüntüleyin.
Klavye odağını elde eden bir ileti kutusu görüntüler. Kullanıcı yazmayabilir, bu yöntemden kaçının.
Görev çubuğunun durum bildirimi alanında bir durum göstergesi görüntüleyin. ayrıntılar için bkz. Windows Forms notifyıcon bileşeni ile görev çubuğuna uygulama simgeleri ekleme.
Uygulamayı Test Etme
Uygulamayı dağıtılmadan önce, uygulamakta olduğunuz erişilebilirlik özelliklerini sınamalısınız.
Erişilebilirlik özelliklerini test etmek için
Klavye erişimini test etmek için fare bağlantısını çıkarın ve yalnızca klavyeyi kullanarak her bir özellik için Kullanıcı arabirimine gidin. Tüm görevlerin yalnızca klavye kullanılarak gerçekleştirildiğinden emin olun.
Yüksek Karşıtlık desteğini test etmek için Denetim Masası 'nda erişilebilirlik seçenekleri simgesini seçin. Görüntü sekmesine tıklayın ve Yüksek Karşıtlık Kullan onay kutusunu seçin. Renk ve yazı tipi değişikliklerinin yansıtıldığından emin olmak için tüm Kullanıcı Arabirimi öğelerine gidin. Ayrıca, metnin arkasında çizilen görüntülerin veya desenlerin atlandığından emin olun.
Not
Windows NT 4 ' te denetim masası 'nda erişilebilirlik seçenekleri simgesi yok. bu nedenle, systemınformation. highkontrast ayarını değiştirmeye yönelik bu yordam Windows NT 4 ' te çalışmaz.
Diğer araçlar, bir uygulamanın erişilebilirliğini test etmek için hazırdır.
Klavye odağını ortaya çıkaran test etmek için büyüteci çalıştırın. (Açmak için Başlat menüsüne tıklayın, Programlar' ın, Donatılar' ın, Erişilebilirlik' in üzerine gelin ve ardından Büyüteç' e tıklayın). Kullanıcı arabiriminde hem klavye sekmeyi hem de fareyi kullanarak gezinin. Tüm gezintinin Büyüteç'te düzgün şekilde izlendiğinden emin olun.
Ekran öğelerini ortaya çıkarmayı test etmek için Inceleme çalıştırın ve her bir öğeye ulaşmak için hem fareyi hem de sekme tuşunu kullanın. Inceleme penceresinin Ad, durum, rol, konum ve değer alanlarında sunulan bilgilerin, Kullanıcı ARABIRIMINDEKI her nesne için anlamlı olduğundan emin olun.