Aracılığıyla paylaş


Erişilebilir tuval uygulamasındaki denetimleri düzenleme

Bir uygulamadaki denetimler ekran Okuyucu kullanıcılarının sırayla gezinmesine yardımcı olacak şekilde düzenlenmelidir. Mantıksal bir sıralama, klavye kullanıcılarına yönelik karışıklığı da azaltır ve bunların daha üretken olmasını sağlar.

Anlamlı ekran adı

Bir Ekran yüklendiğinde ekran okuyucular ekranın adını duyurur. Kullanıcıları düzenlemek için anlamlı bir ad seçin.

Ekran adını denetimler ağacında veya Power Apps Studio'daki Özellikler panelinden uygulamasında değiştirebilirsiniz . Ekranı seçin ve ardından ekranı yeniden adlandırmak için Adı düzenlemek için kalem simgesini seçme. simgesini seçin.

Ekran adları, resimde vurgulanan olarak, kontroller ağacından veya Özellikler panelinden değiştirilebilir.

Bir ekrandaki ilk öğe kendi adıdır. Görsel olarak gizlenir ve yalnızca ekran Okuyucu kullanıcılarına erişilebilir.

Yeni bir ekran yüklendiğinde, Power Apps ekran adına odaklanır. Ekran yüklendiğinde, SetFocus'u hemen kullanırsanız, ekran adı okunmaz. Görünür bir başlık oluşturmayı ve Bağlam içindeki değişikliği duyurmak için onu bir canlı bölgesi haline getirmeyi düşünün.

Mantıksal denetim sırası

Ekran Okuyucu kullanıcılar içerikte sırayla gezinebilir. Sıra, denetimlerin konumu ile yukarıdan aşağıya doğru başlayarak soldan sağa doğru belirlenir. Denetimin boyutu ne kadar önemli olmaz, buna göre yalnızca X ve Y özellikleri de geçerlidir.

Bu örnekte, A, en başa en yakın olduğu için dizide ilk sırada görünür. B ve C 'nin aynı dikey konumu vardır, ancak B sola yakındur ve bu nedenle C'dn öce görünür. En üstten en uzak olduğu için de D en son görünür.

Konumlandırmanın 4 denetimin etkileme biçimi.

Not

  • Bir uygulamayı düzenlerken önizleme modunda, performans nedenleriyle denetim sırası güncelleştirilmez. Uygulama yayımlandığında ve çalıştığında sipariş doğru olur.
  • Denetim sırası, Power Apps Studio içindeki denetimlerin ağaç görünümünde gösterilenle aynı değildir. Ağaç görünümü, denetimlerini uygulamaya eklendikleri zamanki lere göre sıralar. Uygulama çalıştığında denetimlerin düzenini etkilemez.
  • Denetimin X veya Y değeri ifadeye ayarlandığında, ifadenin sonucu değiştiğinde denetim sırası güncelleştirilmez. Sipariş, uygulama kaydedildiğinde, ifadeleri değerlendirmek için uygulamanın başlangıç durumu kullanılarak hesaplanır ve düzeltilir.
    • Diğer denetimler gizlendiğinden veya gösterildiği için konumunu değiştiriyorsanız, sizin için X ve Y'yi yönetmek için otomatik düzen kapsayıcılarını kullanabilirsiniz.
    • Ayrıca, ifade değerlerinden bağımsız olarak tüm denetimleri mantıksal bir şekilde konumlandırabilirsiniz. Örneğin, A denetimi her zaman denetim B altında olmalıysa ve bazen B gizli olabilirse, A'ları Y olarak If(B.Visible, B.Y + B.Height, B.Y + 1) ayarlayın. 1 eklemesi, B gizli olsa bile A'nın her zaman B'nin altında olmasını sağlar.

Gruplanmış denetimler

Varsayılan sıralama, gruplandırılmış içerik için değil, yalıtılmış içerik için uygundur. Yan yana, dikdörtgen denetimlerle çizilmiş şekilde iki taş düşünün. Her döşemenin bir başlığı vardır. Başlığın altında iki düğme dikey olarak yığılır: A ve B birinci döşeme ve C ve D için diğer.

Yanlış alıştırma örneği: düz yapıda düzenlenen denetimler.

Varsayılan sıralama, üstten alta ve sonra soldan sağa şeklindedir. Bu nedenle, denetimlerin sırası aşağıdaki gibi olur:

  1. Sol dikdörtgen
  2. Sağ dikdörtgen
  3. Sol başlık
  4. Sağ başlık
  5. A
  6. C
  7. B
  8. D

Bu yapı A ve B'nin bir arada olmasını ve aynı şekilde, C ve D'yi birlikte da bir arada iletmez.

Kapsayıcılardaki ilgili içeriği gruplayın. Bir kapsayıcıdaki tüm denetimler sırayla birlikte görüntülenir. Bir kap içinde, denetimler aynı kuralla sıralanmıştır: yukarıdan aşağıya, sonra soldan sağa.

önceki örnekteki dikdörtgenler konteynerlerle değiştirildiğinde, denetim sırası artık ekran Okuyucu kullanıcıları için mantıksal olur:

  1. Sol kapsayıcı
  2. Sol başlık
  3. A
  4. B
  5. Sağ kapsayıcı
  6. Sağ başlık
  7. C
  8. D

Önerilen uygulama örneği: kapsayıcıları kullanarak hiyerarşik yapıda düzenlenmiş denetimler.

Bir Form Kartı ve Galeri'deki tüm denetimler otomatik olarak gruplanır; böylece bir Kapsayıcı kullanmanız gerekmez. Ancak, alt gruplar varsa onlar için de kapsayıcılar kullanmanız gerekir.

Bu örnekte, bir Galeri satırı solda bir küçük resim ve iki metin parçası içerir. Sağdaki iki düğme vardır. Görsel ve mantıksal olarak iki denetim kümesi gruplanmalıdır. Bu, ekranın Okuyucu kullanıcılarının öncelikle soldan önce sol grupla karşılaşmasını sağlar.

Önerilen uygulama örneği: galerideki ilgili denetimler kapsayıcıların içinde gruplanır.

Mantıksal klavye gezinti düzeni

TabIndex klavye kullanıcıları tarafından denetimlere nasıl ulaşılabildiğini belirtir. TabIndex 0 veya -1 olmalıdır. Yukarıda açıklanan bir mantıksal denetim sırasıyla, TabIndex işlemi 0'dan büyük bir neden vardır.

Klavye gezinti düzeni, denetimlerin görsel akışını izlemelidir. Gezinti sırası beklenmiyordu ise, ilk olarak uygulama yapısının mantıksal olup olmadığını kontrol etmeniz gerekir.

Not

Klavye gezinti düzeni denetim emriyle aynı değildir. TabIndex yalnızca sekme tuşu gezintisini etkiler. Uygulamasının, ekran Okuyucu kullanıcılarının bir uygulamada nasıl bir daha erken gezinileceğini değiştirmez. Bazı ekran Okuyucu kullanıcılar klavyeleri bile kullanmaz.

Özel sekme dizinlerinden kaçının

Özel sekme dizinleri, sıfırdan büyük olanlardır. Neredeyse her zaman kötü tasarım izi olur. Uygun bir uygulama yapısı oluşturmak veya odağı değiştirmek için SetFocus kullanmak gibi daha iyi alternatifler vardır.

Aşağıdaki nedenlerden dolayı özel sekme dizinleri kullanmaktan kaçının.

Erişilebilirlik

Özel sekme dizinleri içeren ciddi bir erişilebilirlik sorunudur. Ekran okuyucu kullanıcılar mantıksal yapısını kullanarak bir uygulamaya gidebilir. Özel sekme dizinleri bu yapıyı yoksayar. Ekran okuyucu kullanıcılarının Tab tuşu kullanılarak da gezinebileceğinden, diğer gezinti yöntemlerinden farklı bir sipariş elde ettiklerinde bunlar karıştırılır.

Kullanılabilirlik

Bazı öğeler atlandığı zaman kullanıcıların kafası karışmış olabilir. Odak öngörülemeyen bir siparişle taşındığında kafaları karışabilir. Bu, bilişsel engelleri olan kullanıcılar için daha fazla soruna neden olur.

Bakım

Uygulama oluşturucularının her yeni bir denetim eklendiğinde, birden çok denetimin TabIndex durumunu el ile güncelleştirmesi gerekir. Bir güncelleştirmeyi kaçırmak veya siparişi almak çok kolaydır.

Performans

Özel sekme dizinlerini desteklemek için, Power Apps sisteminin sayfadaki tüm denetimleri incelemesi ve uygun siparişi hesaplaması gerekir. Bu hesaplama yoğun bir işlemdir. Galeri gibi kapsayıcı denetimleri, TabIndex özelliğinin alt denetimler için çalışma konusunda karmaşık kurallar vardır. Sistem, uygulama oluşturucunun istediği TabIndex değerini, bu kurallara uyacak şekilde farklı bir değere eşledikten olanak sağlar. Bu nedenle, TabIndex tüm denetimler için sıfıra ayarlanmış olsa da, asıl HTML tabindex bir miktar pozitif sayı olacaktır.

Diğer bileşenlerle tümleştirme

Özel sekme dizinleri yalnızca yerleşik denetimlerle çalışır. Power Apps sekme dizini sistemi ile tümleştirilen denetimler beklenmedik bir gezinti sırasına sahip olur. Bu, kod bileşenleri için bir sorun olabilir. Bu bileşenlerin geliştiricilerine etkileşimli öğelerin izlenmesi ve üzerinde sekme dizini ayarlanması gerekir. Üçüncü taraf kitaplıklar kullanabilir ve bu da sekme dizinlerini özelleştirmenin bir yolunu sağlamayabilir. Diğer taraftan, tüm sekme indeksleri 0 veya -1 olduğunda, Power Apps sekme dizini sistemini kullanmanız gerekmez. Uygulamaya katıştırılmış herhangi bir üçüncü taraf bileşeni otomatik olarak doğru sekme sırasını alacaktır.

Diğer bir yöne, tuval uygulamaları başka bir web sayfasına katıştırıldığında, özel sekme dizinleri çalışmaz. Örneğin özel sayfalarda. Power Apps, tuval uygulamasının dışındaki öğeleri denetleyemeyecek, bu nedenle genel sekme gezinti sırası mantıklı olacak.

Basitleştirilmiş sekme dizini (önizleme)

Sekme dizinlerinin 0 veya -1 olmasını sağlamak için, Ayarlar > Gelen özellikler'den Basitleştirilmiş sekme dizini uygulama özelliğini etkinleştirin.

Basitleştirilmiş sekme dizini uygulama özelliği etkinleştiriliyor.

Önemli

  • Bu, bir önizleme özelliğidir.
  • Önizleme özellikleri üretimde kullanım amacıyla çıkarılmaz ve işlevleri sınırlıdır. Bu özellikler, müşterilerin önceden erişmesi ve geri bildirim sağlaması amacıyla resmi sürümden önce kullanıma sunulur.

Bu özellik etkinleştirildiğinde, sıfırdan büyük tüm TabIndex değerleri sıfır olarak kabul edilir. Bu, yukarıda açıklandığı gibi, diğer bileşenlerle daha iyi tümleştirilebilmesi için Power Apps sekme dizini sistemini devre dışı bırakır.

Özel sekme sırası için geçici çözüm

Çoğu durumda klavye gezinti emrinin görsel siparişinden farklı olması gerektiği nadir senaryolarda, kapsayıcı denetimlerini aynı etkiye sahip olacak şekilde konumlandırabilirsiniz.

Aşağıdaki örnekte, A düğmesi B düğmesinin üzerindedir. Doğal sekme gezinti sırası A ve ardından B'dir.

Aynı TabIndex ile iki düğme dikey olarak yığılır.

Sekme gezinti düzenini tersine çevirmek için, B'yi bir Kapsayıcı denetimine yerleştirin. Kapsayıcının Y değerini A değerinin üzerinde olacak şekilde ayarlayın. Uygulama yapısında artık Kapsayıcı (ve B) A'dan öncedir. Bu nedenle sekme gezinti sırası önce B sonra A olur.

B, A'dan önce görünen bir kapsayıcıya konur.

Bu teknik ile ekran okuyucu kullanıcılar Tab tuşu olmadan gezinirken A'dan önce B ile karşılaşacaktır.

Sonraki adımlar

Power Apps'te Erişilebilir renkler

Ayrıca bkz.