Freigeben über


Barrierefreiheit der Tastaturnavigation

Das Erstellen von Tastaturbarrierefreiheit (für herkömmliche, modifizierte oder Tastaturemulationshardware) in Ihrer App bietet Benutzern blinde, sehbehinderte Personen, Motorbehinderungen oder wenig oder keine Verwendung ihrer Hände, die Möglichkeit, durch die App zu navigieren und die volle Funktionalität Ihrer App zu verwenden. Darüber hinaus können Benutzer ohne Behinderungen die Tastatur für die Navigation aufgrund der Voreinstellung oder Effizienz auswählen.

Wenn Ihre App keinen guten Tastaturzugriff bietet, können Benutzer, die blind sind oder Probleme mit der Mobilität haben, Schwierigkeiten bei der Verwendung Ihrer App haben.

Tastaturnavigation zwischen UI-Elementen

Um mit einem Steuerelement über die Tastatur zu interagieren, muss das Steuerelement den Fokus haben. Um den Fokus (ohne Zeiger) zu erhalten, muss das Steuerelement über die Registerkartennavigation zugänglich sein. Standardmäßig entspricht die Aktivierreihenfolge von Steuerelementen der Reihenfolge, in der sie einer Entwurfsoberfläche hinzugefügt werden, die in XAML deklariert oder programmgesteuert einem Container hinzugefügt wird.

In der Regel basiert die Standardregisterkartenreihenfolge auf der Definition von Steuerelementen in XAML, insbesondere der Reihenfolge, in der die Steuerelemente von Bildschirmsprachausgaben durchlaufen werden. Die Standardreihenfolge entspricht jedoch nicht unbedingt der visuellen Reihenfolge. Die tatsächliche Anzeigeposition hängt möglicherweise vom übergeordneten Layoutcontainer und verschiedenen Eigenschaften untergeordneter Elemente ab, die sich auf das Layout auswirken können.

Um sicherzustellen, dass Ihre App über eine optimale Aktivierreihenfolge verfügt, testen Sie das Verhalten selbst. Wenn Sie ein Raster oder eine Tabelle für Ihr Layout verwenden, kann die Reihenfolge, in der Benutzer den Bildschirm im Vergleich zur Aktivierreihenfolge lesen, sehr unterschiedlich sein. Dies ist nicht immer ein Problem, aber stellen Sie einfach sicher, dass Sie die Funktionen Ihrer App sowohl über die Toucheingabe als auch über die Tastatur testen, um sicherzustellen, dass Ihre Benutzeroberfläche für beide Eingabemethoden optimiert ist.

Sie können festlegen, dass die Aktivierreihenfolge der visuellen Reihenfolge entspricht, indem Sie entweder den XAML-Code anpassen oder die Standardregisterreihenfolge überschreiben. Im folgenden Beispiel wird gezeigt, wie Die TabIndex-Eigenschaft mit einem Rasterlayout verwendet wird, das die Navigation auf der ersten Registerkarte verwendet.

<Grid>
  <Grid.RowDefinitions>...</Grid.RowDefinitions>
  <Grid.ColumnDefinitions>...</Grid.ColumnDefinitions>

  <TextBlock Grid.Column="1" HorizontalAlignment="Center">Groom</TextBlock>
  <TextBlock Grid.Column="2" HorizontalAlignment="Center">Bride</TextBlock>

  <TextBlock Grid.Row="1">First name</TextBlock>
  <TextBox x:Name="GroomFirstName" Grid.Row="1" Grid.Column="1" TabIndex="1"/>
  <TextBox x:Name="BrideFirstName" Grid.Row="1" Grid.Column="2" TabIndex="3"/>

  <TextBlock Grid.Row="2">Last name</TextBlock>
  <TextBox x:Name="GroomLastName" Grid.Row="2" Grid.Column="1" TabIndex="2"/>
  <TextBox x:Name="BrideLastName" Grid.Row="2" Grid.Column="2" TabIndex="4"/>
</Grid>

In einigen Fällen möchten Sie möglicherweise ein bestimmtes Steuerelement aus der Aktivierreihenfolge ausschließen. Dies wird in der Regel erreicht, indem das Steuerelement nicht interaktiv wird, indem seine IsEnabled-Eigenschaft auf "false" festgelegt wird. Ein deaktiviertes Steuerelement wird automatisch aus der Aktivierreihenfolge ausgeschlossen.

Wenn Sie ein interaktives Steuerelement aus der Aktivierreihenfolge ausschließen möchten, können Sie die IsTabStop-Eigenschaft auf "false" festlegen.

Standardmäßig sind UI-Elemente, die den Fokus unterstützen, in der Regel in der Aktivierreihenfolge enthalten. Zu diesen Ausnahmen gehören bestimmte Textanzeigetypen (z . B. RichTextBlock), die den Fokus für den Textauswahl- und Zwischenablagezugriff unterstützen, jedoch nicht in der Aktivierreihenfolge, da sie statische Textelemente sind. Diese Steuerelemente sind nicht konventionell interaktiv (sie können nicht aufgerufen werden und erfordern keine Texteingabe, unterstützen aber das Textsteuerelementmuster , das das Suchen und Anpassen von Auswahlpunkten im Text unterstützt). Textsteuerelemente werden weiterhin von Hilfstechnologien erkannt und in Bildschirmsprachausgaben laut vorgelesen, aber dies basiert auf anderen Techniken als der Aktivierreihenfolge.

Unabhängig davon, ob Sie TabIndex-Werte anpassen oder die Standardreihenfolge verwenden, gelten die folgenden Regeln:

  • Wenn TabIndex für ein Element nicht festgelegt ist, lautet der Standardwert Int32.MaxValue und die Aktivierreihenfolge basiert auf der Deklarationsreihenfolge in den XAML- oder untergeordneten Auflistungen.
  • Wenn TabIndex für ein Element festgelegt ist:
    • UI-Elemente mit TabIndex gleich 0 werden der Aktivierreihenfolge basierend auf der Deklarationsreihenfolge in XAML- oder untergeordneten Auflistungen hinzugefügt.
    • UI-Elemente mit TabIndex größer als 0 werden der Aktivierreihenfolge basierend auf dem TabIndex-Wert hinzugefügt.
    • UI-Elemente mit TabIndex unter 0 werden der Aktivierreihenfolge hinzugefügt und vor jedem Nullwert angezeigt.

Der folgende Codeausschnitt zeigt eine Auflistung von Elementen mit verschiedenen TabIndex-Einstellungen (B wird dem Wert von Int32.MaxValue oder 2.147.483.647 zugewiesen).

<StackPanel Background="#333">
  <StackPanel Background="#FF33FF">
    <Button>A</Button>
    <Button TabIndex="2147483647">B</Button>
    <Button>C</Button>
  </StackPanel>
  <StackPanel Background="#33FFFF">
    <Button TabIndex="1">D</Button>
    <Button TabIndex="1">E</Button>
    <Button TabIndex="0">F</Button>
  </StackPanel>
</StackPanel>

Dies führt zu der folgenden Aktivierreihenfolge:

  1. Fr
  2. D
  3. E
  4. H
  5. B
  6. C

Tastaturnavigation zwischen Anwendungsbereichen mit F6

Ein Anwendungsbereich ist ein logischer Bereich hervorgehobener, verwandter Ui in einem Anwendungsfenster (z. B. Microsoft Edge-Bereiche umfassen die Adressleiste, die Textmarkenleiste, die Registerkartenleiste und den Inhaltsbereich). Die F6-TASTE kann verwendet werden, um zwischen diesen Bereichen zu navigieren, auf die Gruppen untergeordneter Elemente dann mithilfe der standardmäßigen Tastaturnavigation zugegriffen werden kann.

Während die Tastaturnavigation eine barrierefreie Benutzeroberfläche bereitstellen kann, benötigen Sie häufig einige weitere Schritte, damit eine barrierefreie Benutzeroberfläche verwendet werden kann . Dies umfasst in der Regel Folgendes:

  • Hören Sie F6, um zwischen wichtigen Abschnitten der Benutzeroberfläche zu navigieren.
  • Hinzufügen von Tastenkombinationen für allgemeine Aktionen in der Benutzeroberfläche.
  • Hinzufügen von Zugriffstasten zu wichtigen Steuerelementen in der Benutzeroberfläche.

Weitere Anleitungen zur Implementierung von Tastenkombinationen und Zugriffstasten finden Sie unter den folgenden Tastenkombinationen und Zugriffstasten .

Optimieren für F6

Mit F6 können Tastaturbenutzer effizient zwischen Bereichen der Benutzeroberfläche navigieren, ohne die Registerkarte durch potenziell Hunderte von Steuerelementen zu durchlaufen.

Beispielsweise wechselt F6 in Microsoft Edge zwischen der Adressleiste, der Textmarkenleiste, der Registerkartenleiste und dem Inhaltsbereich. Da eine Webseite möglicherweise Hunderte von Steuerelementen mit Tabstopps aufweisen kann, kann F6 es Tastaturbenutzern erleichtern, die Registerkartenleiste und Adressleiste zu erreichen, ohne anwendungsspezifische Tastenkombinationen zu verwenden.

Der F6-Registerkartenzyklus kann auch lose Sehenswürdigkeiten oder Überschriften im Inhalt entsprechen, obwohl er nicht exakt übereinstimmen muss. F6 sollte sich auf große, unterschiedliche Bereiche auf der Benutzeroberfläche konzentrieren, während Sehenswürdigkeiten präziser sein können. Sie können beispielsweise eine App-Leiste und das zugehörige Suchfeld als Orientierungspunkte markieren, aber nur die App-Leiste selbst in den F6-Zyklus einschließen.

Wichtig

Sie müssen F6-Navigation in Ihrer App implementieren, da sie nicht nativ unterstützt wird.

Wenn möglich, sollten Regionen im F6-Zyklus über einen barrierefreien Namen verfügen: entweder durch ein Orientierungspunkt oder durch manuelles Hinzufügen eines AutomationProperties.Name zum "Stammelement" der Region.

Umschalt-F6 sollte in entgegengesetzter Richtung durchlaufen werden.

Tastaturnavigation innerhalb eines UI-Elements

Bei zusammengesetzten Steuerelementen ist es wichtig, die richtige innere Navigation zwischen den enthaltenen Elementen sicherzustellen. Ein zusammengesetztes Steuerelement kann das derzeit aktive untergeordnete Element verwalten, um den Mehraufwand zu verringern, wenn alle untergeordneten Elemente den Fokus unterstützen. Das zusammengesetzte Steuerelement ist in der Aktivierreihenfolge enthalten und behandelt Tastaturnavigationsereignisse selbst. Viele zusammengesetzte Steuerelemente verfügen bereits über eine interne Navigationslogik, die in die Ereignisbehandlung integriert ist. Beispielsweise ist die Pfeiltasten-Durchquerung von Elementen in den Steuerelementen ListView, GridView, ListBox und FlipView standardmäßig aktiviert.

Tastaturalternativen zu Zeigeraktionen und Ereignissen für bestimmte Steuerelementelemente

Ui-Elemente, auf die geklickt werden kann, sollten auch über die Tastatur aufgerufen werden. Um die Tastatur mit einem UI-Element zu verwenden, muss das Element den Fokus haben (nur Klassen, die von Control abgeleitet werden, unterstützen den Fokus und die Registerkartennavigation).

Implementieren Sie für Benutzeroberflächenelemente, die aufgerufen werden können, Tastaturereignishandler für die LEERTASTE und die EINGABETASTE. Dadurch wird die grundlegende Unterstützung für die Barrierefreiheit der Tastatur sichergestellt und benutzern ermöglicht, alle interaktiven UI-Elemente zu erreichen und Funktionen nur mithilfe der Tastatur zu aktivieren.

Wenn ein Element den Fokus nicht unterstützt, können Sie ein eigenes benutzerdefiniertes Steuerelement erstellen. In diesem Fall müssen Sie zum Aktivieren des Fokus die IsTabStop-Eigenschaft auf "true " festlegen und einen visuellen Hinweis auf den fokussierten visuellen Zustand mit einer Fokusanzeige bereitstellen.

Es kann jedoch einfacher sein, die Steuerelementkomposition zu verwenden, damit die Unterstützung für Tabstopps, Fokus und Microsoft Benutzeroberflächenautomatisierung Peers und Muster vom Steuerelement behandelt wird, in dem Sie Ihre Inhalte verfassen möchten. Statt beispielsweise ein Zeiger-gedrücktes Ereignis in einem Bild zu behandeln, schließen Sie dieses Element in einer Schaltfläche um, um Zeiger, Tastatur und Fokusunterstützung zu erhalten.

<!--Don't do this.-->
<Image Source="sample.jpg" PointerPressed="Image_PointerPressed"/>

<!--Do this instead.-->
<Button Click="Button_Click"><Image Source="sample.jpg"/></Button>

Tastenkombinationen

Zusätzlich zur Implementierung der Tastaturnavigation und -aktivierung empfiehlt es sich auch, Tastenkombinationen wie Tastenkombinationen und Zugriffstasten für wichtige oder häufig verwendete Funktionen zu implementieren.

Eine Tastenkombination ist eine Tastenkombination, die dem Benutzer eine effiziente Möglichkeit bietet, auf App-Funktionen zuzugreifen. Es gibt zwei Arten von Tastenkombinationen:

  • Zugriffstasten sind Tastenkombinationen, die einen App-Befehl aufrufen. Ihre App kann eventuell bestimmte Benutzeroberflächenelemente bereitstellen, die dem Befehl entsprechen. Zugriffstasten bestehen in der Regel aus der STRG-Taste und einer Buchstabentaste.
  • Tastenkombinationen sind Tastaturkurzbefehle, die den Fokus auf ein bestimmtes Benutzeroberflächenelement in Ihrer Anwendung setzen. Tastenkombinationen bestehen typischerweise aus der ALT-Taste und einer Buchstabentaste.

Bieten Sie Benutzern, die sich auf Sprachausgaben und andere Hilfstechnologien verlassen, immer eine einfache Möglichkeit, die Tastenkombinationen Ihrer App zu entdecken. Kommunizieren Sie Tastenkombinationen mithilfe von QuickInfos, barrierefreien Namen, barrierefreien Beschreibungen oder einer anderen Form der Bildschirmkommunikation. Zumindest sollten Tastenkombinationen im Hilfeinhalt Ihrer App gut dokumentiert sein.

Sie können Zugriffstasten über Bildschirmsprachausgaben dokumentieren, indem Sie die angefügte AutomationProperties.AccessKey-Eigenschaft auf eine Zeichenfolge festlegen, die die Tastenkombination beschreibt. Es gibt auch eine angefügte AutomationProperties.AcceleratorKey-Eigenschaft zum Dokumentieren nicht mnemonischer Tastenkombinationen, obwohl Bildschirmsprachausgaben beide Eigenschaften in der Regel auf die gleiche Weise behandeln. Versuchen Sie, Tastenkombinationen auf mehrere Arten zu dokumentieren, indem Sie QuickInfos, Automatisierungseigenschaften und schriftliche Hilfedokumentation verwenden.

Im folgenden Beispiel wird veranschaulicht, wie Tastenkombinationen für die Medienwiedergabe, -pause und -stopptasten dokumentiert werden.

<Grid KeyDown="Grid_KeyDown">

  <Grid.RowDefinitions>
    <RowDefinition Height="Auto" />
    <RowDefinition Height="Auto" />
  </Grid.RowDefinitions>

  <MediaElement x:Name="DemoMovie" Source="xbox.wmv"
    Width="500" Height="500" Margin="20" HorizontalAlignment="Center" />

  <StackPanel Grid.Row="1" Margin="10"
    Orientation="Horizontal" HorizontalAlignment="Center">

    <Button x:Name="PlayButton" Click="MediaButton_Click"
      ToolTipService.ToolTip="Shortcut key: Ctrl+P"
      AutomationProperties.AcceleratorKey="Control P">
      <TextBlock>Play</TextBlock>
    </Button>

    <Button x:Name="PauseButton" Click="MediaButton_Click"
      ToolTipService.ToolTip="Shortcut key: Ctrl+A"
      AutomationProperties.AcceleratorKey="Control A">
      <TextBlock>Pause</TextBlock>
    </Button>

    <Button x:Name="StopButton" Click="MediaButton_Click"
      ToolTipService.ToolTip="Shortcut key: Ctrl+S"
      AutomationProperties.AcceleratorKey="Control S">
      <TextBlock>Stop</TextBlock>
    </Button>
  </StackPanel>
</Grid>

Wichtig

Das Festlegen von AutomationProperties.AcceleratorKey oder AutomationProperties.AccessKey aktiviert keine Tastaturfunktionalität. Dies gibt nur an, welche Schlüssel für das Benutzeroberflächenautomatisierung Framework verwendet werden sollen und dann über Hilfstechnologien an Benutzer weitergegeben werden können.

Die Schlüsselbehandlung wird in CodeBehind und nicht in XAML implementiert. Sie müssen weiterhin Handler für KeyDown- oder KeyUp-Ereignisse an das entsprechende Steuerelement anfügen, um das Verhalten der Tastenkombination tatsächlich in Ihrer App zu implementieren. Außerdem wird die Unterstreichungstext-Dekoration für eine Zugriffstaste nicht automatisch bereitgestellt. Sie müssen den Text für den spezifischen Schlüssel in Ihrem Mnemonic explizit als Inline-Unterstreichungsformatierung unterstreichen, wenn Sie unterstrichenen Text in der Benutzeroberfläche anzeigen möchten.

Der Einfachheit halber lässt das vorangehende Beispiel die Verwendung von Ressourcen für Zeichenfolgen wie "STRG+A" aus. Sie müssen jedoch auch Tastenkombinationen während der Lokalisierung berücksichtigen. Das Lokalisieren von Tastenkombinationen ist relevant, da die Wahl der Taste, die als Tastenkombination verwendet werden soll, in der Regel von der sichtbaren Textbezeichnung für das Element abhängt.

Weitere Anleitungen zur Implementierung von Tastenkombinationen finden Sie in den Richtlinien für die Interaktion mit der Windows-Benutzeroberfläche.

Implementieren eines Schlüsselereignishandlers

Eingabeereignisse (z. B. die Schlüsselereignisse) verwenden ein Ereigniskonzept, das als Routingereignisse bezeichnet wird. Ein routingfähiges Ereignis kann durch die untergeordneten Elemente eines übergeordneten zusammengesetzten Steuerelements blasen, sodass das übergeordnete Steuerelement Ereignisse für mehrere untergeordnete Elemente verarbeiten kann. Dieses Ereignismodell eignet sich für die Definition von Tastenkombinationsaktionen für ein Steuerelement, das mehrere untergeordnete Elemente enthält, von denen keiner den Fokus haben kann oder Teil der Aktivierreihenfolge sein kann.

Beispielcode zum Schreiben eines Tastenereignishandlers, der die Überprüfung auf Modifizierer wie die STRG-TASTE enthält, finden Sie unter Tastaturinteraktionen.

Tastaturnavigation für benutzerdefinierte Steuerelemente

Wir empfehlen die Verwendung der Pfeiltasten als Tastenkombinationen für die Navigation zwischen untergeordneten Elementen in Fällen, in denen die untergeordneten Elemente eine räumliche Beziehung zueinander haben. Wenn Knoten in der Strukturansicht separate Unterelemente für die Behandlung der Aktivierung von Expand-Collapse und Knoten aufweisen, verwenden Sie die NACH-LINKS- und NACH-RECHTS-TASTE, um die Funktionen zum Erweitern des Reduzierens der Tastatur bereitzustellen. Wenn Sie über ein orientiertes Steuerelement verfügen, das die direktionale Durchquerung innerhalb des Steuerelementinhalts unterstützt, verwenden Sie die entsprechenden Pfeiltasten.

Im Allgemeinen implementieren Sie die benutzerdefinierte Schlüsselbehandlung für benutzerdefinierte Steuerelemente, indem Sie eine Außerkraftsetzung der OnKeyDown- und OnKeyUp-Methoden als Teil der Klassenlogik einschließen.

Beispiel für einen visuellen Zustand für eine Fokusanzeige

Wie bereits erwähnt, sollte jedes benutzerdefinierte Steuerelement, das den Fokus unterstützt, über eine visuelle Fokusanzeige verfügen. In der Regel ist diese Fokusanzeige nur ein Rechteck, das das umgebende Rechteck des Steuerelements ausdrückt. Das Rechteck für den visuellen Fokus ist ein Peerelement für den Rest der Komposition des Steuerelements in einer Steuerelementvorlage, wird jedoch zunächst mit einem Sichtbarkeitswert von Collapsed festgelegt, da das Steuerelement noch nicht fokussiert ist. Wenn das Steuerelement den Fokus erhält, wird ein visueller Zustand aufgerufen, der die Sichtbarkeit des Visuellen Fokus auf "Visible" festlegt. Sobald der Fokus an eine andere Stelle verschoben wird, wird ein anderer visueller Zustand aufgerufen, und die Sichtbarkeit wird reduziert.

Alle fokussierbaren XAML-Steuerelemente zeigen beim Fokus eine entsprechende visuelle Fokusanzeige an. Die ausgewählten Benutzer können sich auch auf die Anzeigedarstellung auswirken (insbesondere, wenn der Benutzer einen Modus mit hohem Kontrast verwendet). Wenn Sie die XAML-Steuerelemente in der Benutzeroberfläche verwenden (und die Steuerelementvorlagen nicht ersetzen), müssen Sie keine zusätzlichen Schritte ausführen, um standardmäßige visuelle Fokusanzeigen zu erhalten. Wenn Sie jedoch beabsichtigen, ein Steuerelement neu zu entwerfen, oder wenn Sie neugierig sind, wie XAML-Steuerelemente ihre visuellen Fokusindikatoren bereitstellen, erläutert der rest dieses Abschnitts, wie dies in XAML und der Steuerelementlogik erfolgt.

Nachfolgend finden Sie ein Beispiel-XAML, das aus der Standard-XAML-Vorlage für eine Schaltfläche stammt.

XAML

<ControlTemplate TargetType="Button">
...
    <Rectangle
      x:Name="FocusVisualWhite"
      IsHitTestVisible="False"
      Stroke="{ThemeResource FocusVisualWhiteStrokeThemeBrush}"
      StrokeEndLineCap="Square"
      StrokeDashArray="1,1"
      Opacity="0"
      StrokeDashOffset="1.5"/>
    <Rectangle
      x:Name="FocusVisualBlack"
      IsHitTestVisible="False"
      Stroke="{ThemeResource FocusVisualBlackStrokeThemeBrush}"
      StrokeEndLineCap="Square"
      StrokeDashArray="1,1"
      Opacity="0"
      StrokeDashOffset="0.5"/>
...
</ControlTemplate>

Bisher ist dies nur die Zusammensetzung. Um die Sichtbarkeit der Fokusanzeige zu steuern, definieren Sie visuelle Zustände, die die Visibility-Eigenschaft umschalten. Dazu werden visualStateManager und die angefügte VisualStateManager.VisualStateGroups-Eigenschaft verwendet, wie sie auf das Stammelement angewendet wird, das die Komposition definiert.

<ControlTemplate TargetType="Button">
  <Grid>
    <VisualStateManager.VisualStateGroups>
       <!--other visual state groups here-->
       <VisualStateGroup x:Name="FocusStates">
         <VisualState x:Name="Focused">
           <Storyboard>
             <DoubleAnimation
               Storyboard.TargetName="FocusVisualWhite"
               Storyboard.TargetProperty="Opacity"
               To="1" Duration="0"/>
             <DoubleAnimation
               Storyboard.TargetName="FocusVisualBlack"
               Storyboard.TargetProperty="Opacity"
               To="1" Duration="0"/>
         </VisualState>
         <VisualState x:Name="Unfocused" />
         <VisualState x:Name="PointerFocused" />
       </VisualStateGroup>
     <VisualStateManager.VisualStateGroups>
<!--composition is here-->
   </Grid>
</ControlTemplate>

Beachten Sie, dass nur einer der benannten Zustände die Sichtbarkeit direkt anpasst, während die anderen scheinbar leer sind. Sobald das Steuerelement einen anderen Zustand aus derselben VisualStateGroup verwendet, werden alle animationen, die vom vorherigen Zustand angewendet werden, sofort abgebrochen. Da die Standardmäßige Sichtbarkeit der Komposition reduziert ist, wird das Rechteck nicht angezeigt. Die Steuerungslogik steuert dies, indem sie Fokusereignisse wie GotFocus überwachen und die Zustände mit GoToState ändern. Dies wird häufig bereits für Sie behandelt, wenn Sie ein Standardsteuerelement verwenden oder basierend auf einem Steuerelement anpassen, das bereits über dieses Verhalten verfügt.

Barrierefreiheit und Geräte der Tastatur ohne Hardwaretastaturen

Einige Geräte verfügen nicht über eine dedizierte Hardwaretastatur und verlassen sich stattdessen auf einen Soft Input Panel (SIP). Bildschirmsprachausgaben können Texteingaben aus dem Text-SIP lesen, und Benutzer können feststellen, wo sich ihre Finger befinden, da die Sprachausgabe erkennen kann, dass der Benutzer Tasten scannt und den gescannten Schlüsselnamen laut vorliest. Darüber hinaus können einige der tastaturorientierten Barrierefreiheitskonzepte verwandten Hilfstechnologienverhalten zugeordnet werden, die überhaupt keine Tastatur verwenden. Auch wenn ein SIP beispielsweise keine TAB-TASTE enthält, unterstützt die Sprachausgabe eine Touchgeste, die das Äquivalent des Drückens der TAB-TASTE darstellt, sodass eine nützliche Aktivierreihenfolge über die Steuerelemente in einer Benutzeroberfläche weiterhin für die Barrierefreiheit erforderlich ist. Die Sprachausgabe unterstützt auch viele andere Touchgesten, einschließlich Der Pfeiltasten für die Navigation in komplexen Steuerelementen (siehe Tastaturbefehle und Touchgesten der Sprachausgabe).

Beispiele

Tipp

Die WinUI 3-Katalog-App umfasst interaktive Beispiele für die meisten WinUI 3-Steuerelemente, -Features und -Funktionen. Laden Sie die App aus dem Microsoft Store herunter, oder rufen Sie den Quellcode auf GitHub ab