Anlam özellikleriyle erişilebilir uygulamalar oluşturma

Erişilebilirlik semantiği, uygulamalarınızı çok çeşitli ortamlarda teknoloji kullanan ve kullanıcı arabiriminize çeşitli ihtiyaç ve deneyimlerle yaklaşan kişiler için kapsayıcı hale getiren deneyimler oluşturmakla ilgilidir. Çoğu durumda, erişilebilirlikle ilgili yasal gereksinimler geliştiricilerin erişilebilirlik sorunlarını çözmesi için bir ivme sağlayabilir. Ne olursa olsun, uygulamalarınızın mümkün olan en büyük hedef kitleye ulaşması için kapsayıcı ve erişilebilir uygulamalar oluşturmanız önerilir.

Web İçeriği Erişilebilirlik Yönergeleri (WCAG), web ve mobil cihazlar için genel erişilebilirlik standardı ve yasal karşılaştırmadır. Bu yönergeler, uygulamaların herkes için daha algılanabilir, çalıştırılabilir, anlaşılır ve sağlam hale getirilebileceği çeşitli yolları açıklar.

Birçok kullanıcı erişilebilirlik gereksinimi, kullanıcı tarafından yüklenen yardımcı teknoloji ürünleri veya işletim sistemi tarafından sağlanan araçlar ve ayarlar tarafından karşılanır. Buna ekran okuyucular, ekran büyütme ve yüksek karşıtlık ayarları gibi işlevler dahildir.

Ekran okuyucular genellikle ekranda görüntülenen denetimlerin işitsel açıklamalarını sağlar. Bu açıklamalar kullanıcıların uygulamada gezinmesine yardımcı olur ve giriş veya metin içermeyen resimler gibi denetimlere başvurular sağlar. Ekran okuyucular genellikle dokunmatik ekran, izleme yüzeyi veya klavyedeki hareketlerle kontrol edilir. Ekran okuyucuları etkinleştirme hakkında bilgi için bkz . Ekran okuyucuları etkinleştirme.

İşletim sistemlerinin kendi benzersiz davranışları ve yapılandırmaları olan kendi ekran okuyucuları vardır. Örneğin, ekran okuyucuların çoğu odak aldığında bir denetimle ilişkili metni okur ve kullanıcıların uygulamada gezinirken kendilerini yönlendirmelerine olanak tanır. Ancak, bazı ekran okuyucular bir sayfa göründüğünde uygulama kullanıcı arabiriminin tamamını okuyabilir ve bu da kullanıcının sayfaya gitmeyi denemeden önce sayfanın tüm kullanılabilir bilgi içeriğini almasını sağlar.

Çoğu ekran okuyucu, erişilebilirlik odağı alan bir denetimle ilişkili tüm metinleri otomatik olarak okur. Bu, özellik kümesine sahip Text veya Buttongibi Label denetimlerin kullanıcı için erişilebilir olacağı anlamına gelir. Ancak, Image, ImageButton, ActivityIndicatorve diğerleri, bunlarla ilişkili metin olmadığından erişilebilirlik ağacında olmayabilir.

.NET Çok Platformlu Uygulama Kullanıcı Arabirimi (.NET MAUI), temel alınan platformun erişilebilirlik deneyimine erişim sağlamaya yönelik iki yaklaşımı destekler. Anlamsal özellikler , uygulamalarda erişilebilirlik değerleri sağlamaya yönelik .NET MAUI yaklaşımıdır ve önerilen yaklaşımdır. Otomasyon özellikleri , uygulamalarda erişilebilirlik değerleri sağlamaya yönelik Xamarin.Forms yaklaşımıdır ve semantik özelliklerle değiştirilmiştir. Her iki durumda da denetimlerin varsayılan erişilebilirlik sırası, XAML'de listelendikleri veya düzene eklendikleri sırayla aynıdır. Ancak, farklı düzenler erişilebilirlik sırasını etkileyen ek faktörlere sahip olabilir. Örneğin, erişilebilirlik sırası StackLayout da yönlendirmesine, erişilebilirlik sırası Grid ise satır ve sütun düzenlemesine bağlıdır. İçerik sıralama hakkında daha fazla bilgi için Xamarin blogundaki Anlamlı İçerik Sıralama bölümüne bakın.

Dekont

Erişilebilir bir WebView web sitesi görüntülendiğinde bir .NET MAUI uygulamasından da erişilebilir. Buna karşılık, erişilebilir olmayan bir WebView web sitesi görüntülendiğinde bir .NET MAUI uygulamasında bu web sitesine erişilemez.

Anlamsal özellikler

Anlam özellikleri, erişilebilirlik odağını alması gereken denetimler ve kullanıcıya hangi metnin yüksek sesle okunması gerektiği hakkında bilgi tanımlamak için kullanılır. Anlamsal özellikler, temel alınan platform erişilebilirlik API'lerini ayarlamak için herhangi bir öğeye eklenebilen ekli özelliklerdir.

Önemli

Anlamsal özellikler her platformda eşdeğer davranışı zorlamaya çalışmaz. Bunun yerine, her platform tarafından sağlanan erişilebilirlik deneyiminden yararlanırlar.

SemanticProperties sınıfı aşağıdaki ekli özellikleri tanımlar:

  • Description, türündedir stringve ekran okuyucu tarafından sesli olarak okunacak bir açıklamayı temsil eder. Daha fazla bilgi için bkz . Açıklama.
  • Hint, türüne stringbenzer Description, ancak denetimin amacı gibi ek bağlam sağlar. Daha fazla bilgi için bkz . İpucu.
  • HeadingLevel, türündeki SemanticHeadingLevelkullanıcı arabirimini düzenlemek ve gezinmeyi kolaylaştırmak için bir öğenin başlık olarak işaretlenmesini sağlar. Daha fazla bilgi için bkz . Başlık düzeyleri.

Bu ekli özellikler, ekran okuyucunun öğe hakkında konuşabilmesi için platform erişilebilirlik değerlerini ayarlar. Ekli özellikler hakkında daha fazla bilgi için bkz . Ekli özellikler.

Açıklama

Description Ekli özellik, ekran okuyucunun bir öğeyi duyurmak için kullandığı kısa, açıklayıcı string bir özelliği temsil eder. Bu özellik, içeriği anlamak veya kullanıcı arabirimiyle etkileşim kurmak için önemli bir anlamı olan öğeler için ayarlanmalıdır. Bu özelliğin ayarlanması XAML'de gerçekleştirilebilir:

<Image Source="dotnet_bot.png"
       SemanticProperties.Description="Cute dot net bot waving hi to you!" />

Alternatif olarak, C# dilinde ayarlanabilir:

Image image = new Image { Source = "dotnet_bot.png" };
SemanticProperties.SetDescription(image, "Cute dot net bot waving hi to you!");

Ek olarak, SetValue yöntemi ekli özelliği ayarlamak Description için de kullanılabilir:

image.SetValue(SemanticProperties.DescriptionProperty, "Cute dot net bot waving hi to you!");

Bir öğenin erişilebilirlik bilgileri başka bir öğede de tanımlanabilir. Örneğin, öğesinin Label yanındaki Switch öğesinin neyi temsil ettiği Switch açıklanabilir. Bu, XAML'de aşağıdaki gibi gerçekleştirilebilir:

<Label x:Name="label"
       Text="Enable dark mode: " />
<Switch SemanticProperties.Description="{Binding Source={x:Reference label} Path=Text}" />

Alternatif olarak, C# dilinde aşağıdaki gibi ayarlanabilir:

Label label = new Label
{
    Text = "Enable dark mode: "
};
Switch mySwitch = new Switch();
SemanticProperties.SetDescription(mySwitch, label.Text);

Uyarı

  • bir üzerinde Labeliliştirilmiş özelliği ayarlamaktan Description kaçının. Bu, özelliğin Text ekran okuyucu tarafından konuşulmasını durdurur. Bunun nedeni, görsel metnin ekran okuyucu tarafından yüksek sesle okunan metinle ideal şekilde eşleşmesi gerektiğidir.
  • Bir veya Android'de EntryEditor ekli özelliği ayarlamaktan Description kaçının. Bunun yapılması Talkback eylemlerinin çalışmasını durdurur. Bunun yerine özelliğini veya Hint ekli özelliğini kullanınPlaceholder.
  • iOS'ta, özelliği alt öğeleri olan herhangi bir denetimde ayarlarsanız Description ekran okuyucu alt öğelere erişemez. Bunun nedeni, iOS'un üst öğeden alt öğeye gezintiye izin veren erişilebilirlik özellikleri sağlamamasıdır.

Ipucu

Hint Ekli özellik, ekli özelliğe bir denetimin Description amacı gibi ek bağlam sağlayan bir öğesini temsil ederstring. Bu özelliğin ayarlanması XAML'de gerçekleştirilebilir:

<Image Source="like.png"
       SemanticProperties.Description="Like"
       SemanticProperties.Hint="Like this post." />

Alternatif olarak, C# dilinde ayarlanabilir:

Image image = new Image { Source = "like.png" };
SemanticProperties.SetDescription(image, "Like");
SemanticProperties.SetHint(image, "Like this post.");

Ek olarak, SetValue yöntemi ekli özelliği ayarlamak Hint için de kullanılabilir:

image.SetValue(SemanticProperties.HintProperty, "Like this post.");

Android'de bu özellik, bağlı olduğu denetime bağlı olarak biraz farklı davranır. Örneğin, ve CheckBoxgibi Switch metin değerleri olmayan denetimler için denetimler, ipucunu denetimle birlikte görüntüler. Ancak, metin değerlerine sahip denetimler için ipucu görüntülenmez ve metin değerinden sonra okunur.

Uyarı

Özelliği Hint , her ikisi de aynı platform özelliğine Entry.Placeholder eşlenen Android'de özelliğiyle çakişer. Bu nedenle, değere Entry.Placeholder farklı Hint bir değer ayarlanması önerilmez.

Başlık düzeyleri

HeadingLevel Eklenen özellik, bir öğenin kullanıcı arabirimini düzenlemek ve gezinmeyi kolaylaştırmak için başlık olarak işaretlenmesini sağlar. Bazı ekran okuyucular, kullanıcıların başlıklar arasında hızla geçiş yapmasını sağlar.

Başlıklar 1 ile 9 arasında bir düzeye sahiptir ve üyeleri aracılığıyla Level9 öğesini Level1 tanımlayan Nonenumaralandırma ile SemanticHeadingLevel temsil edilir.

Önemli

Windows 9 düzey başlık sunarken, Android ve iOS yalnızca tek bir başlık sunar. Bu nedenle, HeadingLevel Windows'ta ayarlandığında doğru başlık düzeyine eşler. Ancak, Android ve iOS'ta ayarlandığında tek bir başlık düzeyine eşler.

Aşağıdaki örnekte bu ekli özelliğin ayarlanması gösterilmektedir:

<Label Text="Get started with .NET MAUI"
       SemanticProperties.HeadingLevel="Level1" />
<Label Text="Paragraphs of text go here." />
<Label Text="Installation"
       SemanticProperties.HeadingLevel="Level2" />
<Label Text="Paragraphs of text go here." />    
<Label Text="Build your first app"
       SemanticProperties.HeadingLevel="Level3" />
<Label Text="Paragraphs of text go here." />     
<Label Text="Publish your app"
       SemanticProperties.HeadingLevel="Level4" />
<Label Text="Paragraphs of text go here." />   

Alternatif olarak, C# dilinde ayarlanabilir:

Label label1 = new Label { Text = "Get started with .NET MAUI" };
Label label2 = new Label { Text = "Paragraphs of text go here." };
Label label3 = new Label { Text = "Installation" };
Label label4 = new Label { Text = "Paragraphs of text go here." };
Label label5 = new Label { Text = "Build your first app" };
Label label6 = new Label { Text = "Paragraphs of text go here." };
Label label7 = new Label { Text = "Publish your app" };
Label label8 = new Label { Text = "Paragraphs of text go here." };
SemanticProperties.SetHeadingLevel(label1, SemanticHeadingLevel.Level1);
SemanticProperties.SetHeadingLevel(label3, SemanticHeadingLevel.Level1);
SemanticProperties.SetHeadingLevel(label5, SemanticHeadingLevel.Level1);
SemanticProperties.SetHeadingLevel(label7, SemanticHeadingLevel.Level1);

Ek olarak, SetValue yöntemi ekli özelliği ayarlamak HeadingLevel için de kullanılabilir:

label1.SetValue(SemanticProperties.HeadingLevelProperty, SemanticHeadingLevel.Level1);

Anlam odaklı

Denetimler, ekran okuyucu odağını belirtilen bir öğeye zorlayan bir uzantı yöntemine sahiptir SetSemanticFocus . Örneğin, adlı labelbir Label verilen ekran okuyucu odağı aşağıdaki kodla öğesine zorlanabilir:

label.SetSemanticFocus();

Anlamsal ekran okuyucu

.NET MAUI, bir ekran okuyucuya ISemanticScreenReader metni kullanıcıya duyurmasını bildirebileceğiniz arabirimi sağlar. Arabirimi özelliği aracılığıyla Default kullanıma sunulur ve ad alanında Microsoft.Maui.Accessibility kullanılabilir.

Ekran okuyucuya metni duyurmasını bildirmek için yöntemini kullanın Announce ve metni temsil eden bir string bağımsız değişken geçirin. Aşağıdaki örnekte bu yöntemin kullanılması gösterilmektedir:

SemanticScreenReader.Default.Announce("This is the announcement text.");

Sınırlamalar

Metnin yüksek sesle okunabilmesi için varsayılan platform ekran okuyucusu etkinleştirilmelidir.

Otomasyon özellikleri

Otomasyon özellikleri, öğenin temel platformun erişilebilirlik çerçevesine nasıl bildirildiğini göstermek için herhangi bir öğeye eklenebilen ekli özelliklerdir.

AutomationProperties sınıfı aşağıdaki ekli özellikleri tanımlar:

  • ExcludedWithChildrentüründe bool?, bir öğenin ve alt öğelerinin erişilebilirlik ağacından dışlanıp dışlanılmadığını belirler. Daha fazla bilgi için bkz . ExcludedWithChildren.
  • IsInAccessibleTree, türündeki bool?öğesinin erişilebilirlik ağacında kullanılabilir olup olmadığını gösterir. Daha fazla bilgi için bkz . IsInAccessibleTree.
  • Nametüründe string, bu öğe için seslendirilebilir tanımlayıcı işlevi görecek öğenin kısa bir açıklamasını temsil eder. Daha fazla bilgi için bkz . Ad.
  • HelpTexttüründe string, öğesinin daha uzun bir açıklamasını temsil eder. Bu açıklama, öğesiyle ilişkili araç ipucu metni olarak düşünülebilir. Daha fazla bilgi için bkz . HelpText.
  • LabeledBy, türündedir VisualElementve başka bir öğenin geçerli öğe için erişilebilirlik bilgilerini tanımlamasını sağlar. Daha fazla bilgi için bkz . LabeledBy.

Bu ekli özellikler, ekran okuyucunun öğe hakkında konuşabilmesi için platform erişilebilirlik değerlerini ayarlar. Ekli özellikler hakkında daha fazla bilgi için bkz . Ekli özellikler.

Farklı ekran okuyucular farklı erişilebilirlik değerlerini okur. Bu nedenle, otomasyon özellikleri kullanılırken en iyi deneyimi sağlamak için her platformda kapsamlı erişilebilirlik testlerinin gerçekleştirilmesi önerilir.

Önemli

Otomasyon özellikleri, uygulamalarda erişilebilirlik değerleri sağlamaya yönelik Xamarin.Forms yaklaşımıdır ve semantik özelliklerle değiştirilmiştir. Anlam özellikleri hakkında daha fazla bilgi için bkz . Anlam özellikleri.

ExcludedWithChildren

ExcludedWithChildren türündeki bool?ekli özellik, bir öğenin ve alt öğelerinin erişilebilirlik ağacından dışlanıp dışlanılmadığını belirler. Bu, gibi başka bir düzen StackLayoutStackLayout üzerinde görüntüleme AbsoluteLayout gibi senaryoları etkinleştirir ve görünür olmadığında erişilebilirlik ağacının dışında tutulur. XAML'den aşağıdaki gibi kullanılabilir:

<StackLayout AutomationProperties.ExcludedWithChildren="true">
...
</StackLayout>

Alternatif olarak, C# dilinde aşağıdaki gibi ayarlanabilir:

StackLayout stackLayout = new StackLayout();
...
AutomationProperties.SetExcludedWithChildren(stackLayout, true);

Bu ekli özellik ayarlandığında, .NET MAUI belirtilen öğede ve alt öğelerinde ekli özelliği olarak false ayarlarIsInAccessibleTree.

IsInAccessibleTree

Uyarı

Bu ekli özellik genellikle ayarsız kalmalıdır. Denetimlerin çoğunluğu erişilebilirlik ağacında bulunmalıdır ve AutomationProperties.ExcludedWithChildren ekli özellik, bir öğenin ve alt öğelerinin erişilebilirlik ağacından kaldırılması gereken senaryolarda ayarlanabilir.

IsInAccessibleTree türündeki bool?ekli özellik, öğenin ekran okuyucular tarafından görünür olup olmadığını belirler. Diğer otomasyon özelliklerini kullanacak şekilde true ayarlanmalıdır. Bu, XAML'de aşağıdaki gibi gerçekleştirilebilir:

<Entry AutomationProperties.IsInAccessibleTree="true" />

Alternatif olarak, C# dilinde aşağıdaki gibi ayarlanabilir:

Entry entry = new Entry();
AutomationProperties.SetIsInAccessibleTree(entry, true);

Uyarı

iOS'ta, özellik true alt öğeleri olan herhangi bir denetimdeyseIsInAccessibleTree, ekran okuyucu alt öğelere erişemez. Bunun nedeni, iOS'un üst öğeden alt öğeye gezintiye izin veren erişilebilirlik özellikleri sağlamamasıdır.

Adı

Önemli

Eklenen Name özellik .NET 8'de kullanım dışı bırakıldı. Bunun yerine, ekli özelliğini kullanın Description .

Eklenen Name özellik değeri, ekran okuyucunun bir öğeyi duyurmak için kullandığı kısa, açıklayıcı bir metin dizesi olmalıdır. Bu özellik, içeriği anlamak veya kullanıcı arabirimiyle etkileşim kurmak için önemli bir anlamı olan öğeler için ayarlanmalıdır. Bu, XAML'de aşağıdaki gibi gerçekleştirilebilir:

<ActivityIndicator AutomationProperties.IsInAccessibleTree="true"
                   AutomationProperties.Name="Progress indicator" />

Alternatif olarak, C# dilinde aşağıdaki gibi ayarlanabilir:

ActivityIndicator activityIndicator = new ActivityIndicator();
AutomationProperties.SetIsInAccessibleTree(activityIndicator, true);
AutomationProperties.SetName(activityIndicator, "Progress indicator");

Helptext

Önemli

Eklenen HelpText özellik .NET 8'de kullanım dışı bırakıldı. Bunun yerine, ekli özelliğini kullanın Hint .

HelpText Eklenen özellik, kullanıcı arabirimi öğesini tanımlayan metne ayarlanmalıdır ve öğesiyle ilişkilendirilmiş araç ipucu metni olarak düşünülebilir. Bu, XAML'de aşağıdaki gibi gerçekleştirilebilir:

<Button Text="Toggle ActivityIndicator"
        AutomationProperties.IsInAccessibleTree="true"
        AutomationProperties.HelpText="Tap to toggle the activity indicator" />

Alternatif olarak, C# dilinde aşağıdaki gibi ayarlanabilir:

Button button = new Button { Text = "Toggle ActivityIndicator" };
AutomationProperties.SetIsInAccessibleTree(button, true);
AutomationProperties.SetHelpText(button, "Tap to toggle the activity indicator");

Bazı platformlarda, gibi EntryHelpText düzenleme denetimleri için özelliği bazen atlanabilir ve yer tutucu metinle değiştirilebilir. Örneğin, "Adınızı buraya girin", kullanıcının gerçek girişine göre metni denetime yerleştiren özellik için Entry.Placeholder iyi bir adaydır.

Labeledby

Önemli

Eklenen LabeledBy özellik .NET 8'de kullanım dışı bırakıldı. Bunun yerine bağlama SemanticProperties.Description kullanın. Daha fazla bilgi için bkz . SemanticProperties: Açıklama.

LabeledBy Ekli özellik, başka bir öğenin geçerli öğe için erişilebilirlik bilgilerini tanımlamasına olanak tanır. Örneğin, öğesinin Label yanındaki Entry öğesinin neyi temsil ettiği Entry açıklanabilir. Bu, XAML'de aşağıdaki gibi gerçekleştirilebilir:

<Label x:Name="label" Text="Enter your name: " />
<Entry AutomationProperties.IsInAccessibleTree="true"
       AutomationProperties.LabeledBy="{x:Reference label}" />

Alternatif olarak, C# dilinde aşağıdaki gibi ayarlanabilir:

Label label = new Label { Text = "Enter your name: " };
Entry entry = new Entry();
AutomationProperties.SetIsInAccessibleTree(entry, true);
AutomationProperties.SetLabeledBy(entry, label);

Önemli

AutomationProperties.LabeledByProperty iOS'ta desteklenmez.

Erişilebilirliği test etme

.NET MAUI uygulamaları genellikle birden çok platformu hedefler ve bu da erişilebilirlik özelliklerini platforma göre test etmek anlamına gelir. Her platformda erişilebilirliği test etmeyi öğrenmek için şu bağlantıları izleyin:

Aşağıdaki araçlar erişilebilirlik testinizde yardımcı olabilir:

Ancak, bu araçların hiçbiri ekran okuyucu kullanıcı deneyimine mükemmel bir şekilde öykünemez ve uygulamalarınızı erişilebilirlik için test etmenin ve sorunlarını gidermenin en iyi yolu, ekran okuyucuları olan fiziksel cihazlarda her zaman el ile olacaktır.

Ekran okuyucuları etkinleştirme

Her platformun erişilebilirlik değerlerinin anlatımı için farklı bir varsayılan ekran okuyucusu vardır:

  • Android'de TalkBack vardır. TalkBack'i etkinleştirme hakkında bilgi için bkz . TalkBack'i etkinleştirme.
  • iOS ve macOS'ta VoiceOver vardır. VoiceOver'ı etkinleştirme hakkında bilgi için bkz . VoiceOver'ı etkinleştirme.
  • Windows'ta Ekran Okuyucusu vardır. Ekran Okuyucusu'nu etkinleştirme hakkında bilgi için bkz . Ekran Okuyucusu'nu etkinleştirme.

TalkBack'i etkinleştirme

TalkBack, Android'de kullanılan birincil ekran okuyucudur. Nasıl etkinleştirildiği cihaz üreticisine, Android sürümüne ve TalkBack sürümüne bağlıdır. Ancak TalkBack genellikle Android cihazınızda cihaz ayarları aracılığıyla etkinleştirilebilir:

  1. Ayarlar uygulamasını başlatın.
  2. Erişilebilirlik>TalkBack'i seçin.
  3. TalkBack'i kullan seçeneğini açın.
  4. Tamam'ı seçin.

Dekont

Bu adımlar çoğu cihaz için geçerli olsa da bazı farklılıklarla karşılaşabilirsiniz.

TalkBack'i ilk kez etkinleştirdiğinizde bir TalkBack öğreticisi otomatik olarak açılır.

TalkBack'i etkinleştirmenin alternatif yöntemleri için bkz . Talkback'i açma veya kapatma.

VoiceOver'ı etkinleştirme

VoiceOver, iOS ve macOS'ta kullanılan birincil ekran okuyucudur. iOS'ta VoiceOver şu şekilde etkinleştirilebilir:

  1. Ayarlar uygulamasını başlatın.
  2. Erişilebilirlik>VoiceOver'ı seçin.
  3. VoiceOver'ı açın.

VoiceOver etkinleştirildikten sonra VoiceOver Alıştırması seçilerek bir VoiceOver öğreticisi açılabilir.

VoiceOver'ı etkinleştirmeye yönelik alternatif yöntemler için bkz. i Telefon'da VoiceOver'ı açma ve alıştırma yapma ve iPad'de VoiceOver'ı açma ve alıştırma yapma.

macOS'ta VoiceOver aşağıdaki gibi etkinleştirilebilir:

  1. Sistem Tercihleri'ni açın.
  2. Erişilebilirlik>VoiceOver'ı seçin.
  3. VoiceOver'ı Etkinleştir'i seçin.
  4. VoiceOver kullan'ı seçin.

VoiceOver Eğitimi Aç... seçilerek bir VoiceOver öğreticisi açılabilir.

VoiceOver'ı etkinleştirmenin alternatif yöntemleri için bkz . Mac'te VoiceOver'ı açma veya kapatma.

Ekran Okuyucusu'nu etkinleştirme

Ekran Okuyucusu, Windows'ta kullanılan birincil ekran okuyucudur. Ekran Okuyucusu, Windows logo tuşu + Ctrl + Enter tuşuna birlikte basılarak etkinleştirilebilir. Ekran Okuyucusu'nu durdurmak için bu tuşlara yeniden basılabilir.

Ekran Okuyucusu hakkında daha fazla bilgi için bkz . Ekran Okuyucusu'nun tam kılavuzu.

Erişilebilirlik denetim listesi

.NET MAUI uygulamalarınızın mümkün olan en geniş kitle tarafından erişilebilir olduğundan emin olmak için şu ipuçlarını izleyin:

  • Web İçeriği Erişilebilirlik Yönergeleri'ni (WCAG) izleyerek uygulamanızın herkes için algılanabilir, çalışabilir, anlaşılır ve sağlam olduğundan emin olun. WCAG, web ve mobil cihazlar için küresel erişilebilirlik standardı ve yasal karşılaştırmadır. Daha fazla bilgi için bkz . Web İçeriği Erişilebilirlik Yönergelerine (WCAG) Genel Bakış.
  • Kullanıcı arabiriminin kendi kendine açıklayıcı olduğundan emin olun. Kullanıcı arabiriminizin tüm öğelerinin ekran okuyucuya erişilebilir olup olmadığını test edin. Gerektiğinde açıklayıcı metin ve ipuçları ekleyin.
  • Resimlerin ve simgelerin alternatif metin açıklamalarına sahip olduğundan emin olun.
  • Büyük yazı tiplerini ve yüksek karşıtlığı destekler. Denetim boyutlarını sabit kodlamaktan kaçının ve bunun yerine daha büyük yazı tipi boyutlarına uyum sağlamak için yeniden boyutlandırılan düzenleri tercih edin. Okunabilir olduklarından emin olmak için renk düzenlerini yüksek karşıtlık modunda test edin.
  • Görsel ağacı gezintiyi göz önünde bulundurarak tasarlar. Alternatif giriş yöntemlerini kullanarak denetimler arasında gezinmek için uygun düzen denetimlerini kullanın; böylece dokunma ile aynı mantıksal akışı izler. Ayrıca, gereksiz öğeleri ekran okuyucuların dışında tutun (örneğin, zaten erişilebilir olan alanlar için dekoratif resimler veya etiketler).
  • Yalnızca sesli veya renkli ipuçlarına güvenmeyin. İlerleme, tamamlanma veya başka bir durumun tek göstergesinin ses veya renk değişikliği olduğu durumlardan kaçının. Kullanıcı arabirimini yalnızca destek için ses ve renkle net görsel ipuçları içerecek şekilde tasarla veya belirli erişilebilirlik göstergeleri ekle. Renkleri seçerken, renk körlüğü olan kullanıcılar için ayırt etmek zor olan bir paletten kaçınmaya çalışın.
  • Video içeriği için başlık ve ses içeriği için okunabilir bir betik sağlayın. Ses veya video içeriğinin hızını ayarlayan denetimler sağlamak ve ses ve taşıma denetimlerinin kolayca bulunup kullanılabildiğinden emin olmak da yararlıdır.
  • Uygulama birden çok dili desteklediğinde erişilebilirlik açıklamalarınızı yerelleştirin.
  • Uygulamanızın erişilebilirlik özelliklerini hedef aldığı her platformda test edin. Daha fazla bilgi için bkz . Erişilebilirliği test etme.