Neuerungen der Barrierefreiheit in .NET FrameworkWhat's new in accessibility in the .NET Framework

Die Anwendungen von .NET Framework sollen eine bessere Barrierefreiheit für Ihre Benutzer bieten.The .NET Framework aims at making applications more accessible for your users. Durch Barrierefreiheitsfunktionen wird es einer Anwendung ermöglicht, den Benutzern von Hilfstechnologien ein angemessenes Erlebnis zu bieten.Accessibility features allow an application to provide an appropriate experience for users of Assistive Technology. Ab .NET Framework 4.7.1 enthält .NET Framework zahlreiche Verbesserungen der Barrierefreiheit, die es den Entwicklern ermöglichen, barrierefreie Anwendungen zu erstellen.Starting with .NET Framework 4.7.1, the .NET Framework includes a large number of accessibility improvements that allow developers to create accessible applications.

BarrierefreiheitsparameterAccessibility switches

Wenn Ihre App auf .NET Framework 4.7 oder niedriger ausgerichtet ist, aber auf .NET Framework 4.7.1 oder höher ausgeführt wird, können Sie sie für Barrierefreiheitsfeatures konfigurieren.You can configure your app to opt into accessibility features if it targets .NET Framework 4.7 or an earlier version but is running on .NET Framework 4.7.1 or later. Sie können auch Ihre App für Legacy-Features konfigurieren (und Barrierefreiheitsfeatures außen vor lassen), wenn diese auf .NET Framework 4.7.1 oder höher ausgerichtet ist.You can also configure your app to use legacy features (and not take advantage of accessibility features) if it targets .NET Framework 4.7.1 or later. Jede .NET Framework-Version, die Barrierefreiheitsfeatures umfasst, verfügt über einen versionsspezifischen Barrierefreiheitsparameter, den Sie dem <runtime>-Abschnitt des <AppContextSwitchOverrides>-Elements in der Konfigurationsdatei der Anwendung hinzufügen.Each version of the .NET Framework that includes accessibility features has a version-specific accessibility switch, which you add to the <AppContextSwitchOverrides> element in the <runtime> section of the application's configuration file. Die folgenden Parameter werden unterstützt:The following are the supported switches:

VersionVersion SchalterSwitch
.NET Framework 4.7.1.NET Framework 4.7.1 „Switch.UseLegacyAccessibilityFeatures“"Switch.UseLegacyAccessibilityFeatures"
.NET Framework 4.7.2.NET Framework 4.7.2 „Switch.UseLegacyAccessibilityFeatures.2“"Switch.UseLegacyAccessibilityFeatures.2"
.NET Framework 4.8.NET Framework 4.8 "Switch.UseLegacyAccessibilityFeatures.3""Switch.UseLegacyAccessibilityFeatures.3"

Profitieren von BarrierefreiheitserweiterungenTaking advantage of accessibility enhancements

Die neuen Barrierefreiheitsfunktionen werden standardmäßig für Anwendungen aktiviert, die .NET Framework 4.7.1 oder höher anzielen.The new accessibility features are enabled by default for applications that target .NET Framework 4.7.1 or later. Zusätzlich können Anwendungen, die eine frühere Version von .NET Framework anzielen, aber unter .NET Framework 4.7.1 oder höher ausgeführt werden, veraltete Verhaltensweisen für die Barrierefreiheit deaktivieren (und dadurch die Verbesserungen der Barrierefreiheit nutzen), indem Sie dem <AppContextSwitchOverrides>-Element im <runtime>-Abschnitt der Konfigurationsdatei der Anwendung einen Parameter hinzufügen und deren Wert auf false festlegen.In addition, applications that target an earlier version of the .NET Framework but are running on .NET Framework 4.7.1 or later can opt out of legacy accessibility behaviors (and thereby take advantage of accessibility improvements) by adding switches to the <AppContextSwitchOverrides> element in the <runtime> section of the application's configuration file and setting their value to false. Das folgende Beispiel zeigt, wie Sie die in .NET Framework 4.7.1 eingeführten Barrierefreiheitsverbesserungen aktivieren:The following shows how to opt in to accessibility enhancements introduced in .NET Framework 4.7.1:

<runtime>
    <!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true|false;key2=true|false  -->
    <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false" />
</runtime>

Wenn Sie die Barrierefreiheitsoptionen in einer höheren Version von .NET Framework aktivieren, müssen Sie ebenfalls die Features früherer Versionen aktivieren.If you choose to opt in to accessibility features in a later version of the .NET Framework, you must also explicitly opt in to the features from earlier versions of the .NET Framework. Sie benötigen das folgende <AppContextSwitchOverrides>-Element, um Ihre App so zu konfigurieren, dass Sie die Verbesserungen der Barrierefreiheit sowohl in .NET Framework 4.7.1 als auch in Version 4.7.2 nutzen können:Configuring your app to take advantage of accessibility improvements in both .NET Framework 4.7.1 and 4.7.2 requires the following <AppContextSwitchOverrides> element:

<runtime>
    <!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true|false;key2=true|false  -->
    <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false;Switch.UseLegacyAccessibilityFeatures.2=false" />
</runtime>

Sie benötigen das folgende <AppContextSwitchOverrides>-Element, um Ihre App so zu konfigurieren, dass Sie die Verbesserungen der Barrierefreiheit in NET Framework 4.7.1, 4.7.2 und 4.8 nutzen können:Configuring your app to take advantage of accessibility improvements in .NET Framework 4.7.1, 4.7.2, and 4.8 requires the following <AppContextSwitchOverrides> element:

<runtime>
    <!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true|false;key2=true|false  -->
    <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false;Switch.UseLegacyAccessibilityFeatures.2=false;Switch.UseLegacyAccessibilityFeatures.3=false" />
</runtime>

Wiederherstellen von LegacyverhaltenRestoring legacy behavior

Anwendungen, die Versionen von .NET Framework ab 4.7.1 anzielen, können die Barrierefreiheitsfeatures deaktivieren, indem folgendes Element zum <AppContextSwitchOverrides>-Element im <runtime>-Abschnitt der Konfigurationsdatei der Anwendung hinzugefügt und deren Wert auf true festgelegt wird.Applications that target versions of the .NET Framework starting with 4.7.1 can disable accessibility features by adding switches to the <AppContextSwitchOverrides> element in the <runtime> section of the application's configuration file and setting their value to true. Beispielsweise deaktiviert die folgende Konfiguration die Barrierefreiheitsfeatures, die in .NET Framework 4.7.2 eingeführt wurden:For example, the following configuration opts out of accessibility features introduced in .NET Framework 4.7.2:

<runtime>
    <!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true|false;key2=true|false  -->
    <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures.2=true" />
</runtime>

Neuerungen der Barrierefreiheit in .NET Framework 4.8What's new in accessibility in .NET Framework 4.8

.NET Framework 4.8 enthält neue Barrierefreiheitsfunktionen für die folgenden Bereiche:.NET Framework 4.8 includes new accessibility features in the following areas:

Windows FormsWindows Forms

In .NET Framework 4.8 bieten Windows Forms jetzt Unterstützung für LiveRegions und Benachrichtigungsereignisse für viele häufig verwendete Steuerelemente.In .NET Framework 4.8, Windows Forms adds support for LiveRegions and Notification Events to many commonly used controls. Es bietet auch Unterstützung für QuickInfos, wenn ein Benutzer mit der Tastatur zu einem Steuerelement navigiert.It also adds support for ToolTips when a user navigates to a control by using the keyboard.

Unterstützung für UIA-LiveRegions in den Bezeichnungen und StatusStripsUIA LiveRegions Support in Labels and StatusStrips

UIA LiveRegions ermöglichen es Anwendungsentwicklern, Sprachausgaben über eine Textänderung in einem Steuerelement zu informieren, das sich außerhalb des Bereichs befindet, in dem der Benutzer arbeitet.UIA LiveRegions allow application developers to notify screen readers of a text change in a control that is located apart from the location where the user is working. Dies ist z.B. für ein StatusStrip-Steuerelement nützlich, das einen Verbindungsstatus anzeigt.This is useful, for example, for a StatusStrip control that shows a connection status. Wenn die Verbindung unterbrochen wird und sich der Status ändert, kann der Entwickler die Sprachausgabe benachrichtigen.If the connection is dropped and the status changes, the developer might want to notify the screen reader.

Ab .NET Framework 4.8 implementiert Windows Forms UIA-LiveRegions für sowohl Label- als auch StatusStrip-Steuerelemente.Starting with .NET Framework 4.8, Windows Forms implements UIA LiveRegions for both the Label and StatusStrip controls. Der folgende Code verwendet die LiveRegion beispielsweise in einem Label-Steuerelement mit dem Namen label1:For example, the following code uses the LiveRegion in a Label control named label1:

public Form1()
{
   InitializeComponent();
   label1.AutomationLiveSetting = AutomationLiveSetting.Polite;
}

…
Label1.Text = “Ready!”;

Die Sprachausgabe kündigt „Bereit“ an, unabhängig davon, wo der Benutzer mit der Anwendung gerade interagiert.Narrator announces “Ready” regardless of where the user is interacting with the application.

Sie können Ihr UserControl ebenfalls als LiveRegion implementieren:You can also implement your UserControl as a LiveRegion:

using System;
using System.Windows.Forms;
using System.Windows.Forms.Automation;

namespace WindowsFormsApplication
{
   public partial class UserControl1 : UserControl, IAutomationLiveRegion
   {
      public UserControl1()
      {
         InitializeComponent();
      }

      public AutomationLiveSetting AutomationLiveSetting { get; set; }
      private AutomationLiveSetting IAutomationLiveRegion.GetLiveSetting()
      {
         return this.AutomationLiveSetting;
      }

      protected override void OnTextChanged(EventArgs e)
      {
         base.OnTextChanged(e);
         AutomationNotifications.UiaRaiseLiveRegionChangedEvent(this.AccessibilityObject);
      }
   }
}

UIA-BenachrichtigungsereignisseUIA notification events

Das UIA-Benachrichtigungsereignis, das mit dem Windows 10 Fall Creators Update eingeführt wurde, ermöglicht es Ihrer App, ein UIA-Ereignis auszulösen, was dazu führt, dass die Sprachausgabe einfach eine Ankündigung basierend auf dem Text macht, den Sie mit dem Ereignis bereitstellen. Dafür muss in der Benutzeroberfläche kein entsprechendes Steuerelement vorhanden sein.The UIA Notification event, introduced in Windows 10 Fall Creators Update, allows your app to raise a UIA event, which leads to Narrator simply making an announcement based on text you supply with the event, without the need to have a corresponding control in the UI. In einigen Szenarien ist dies eine einfache Möglichkeit, um die Barrierefreiheit Ihrer App erheblich zu verbessern.In some scenarios, this is a straightforward way to dramatically improve the accessibility of your app. Auch kann damit über den Fortschritt eines Prozesses zu informiert werden, der viel Zeit in Anspruch nehmen kann.In can also be useful to notify of the progress of some process that may take a long time. Weitere Informationen über UIA-Benachrichtigungsereignisse finden Sie in Can your desktop app leverage the new UI Notification event? (Kann Ihre Desktop-App das neue UI-Benachrichtigungsereignis nutzen?).For more information about UIA Notification Events, see Can your desktop app leverage the new UI Notification event?.

Im folgenden Beispiel wird ein Benachrichtigungsereignis ausgelöst:The following example raises the Notification event:

MethodInfo raiseMethod = typeof(AccessibleObject).GetMethod("RaiseAutomationNotification");
if (raiseMethod != null) {
   raiseMethod.Invoke(progressBar1.AccessibilityObject, new object[3] {/*Other*/ 4, /*All*/ 2, "The progress is 50%." });
}

QuickInfos für den TastaturzugriffToolTips on keyboard access

In Anwendungen, die auf .NET Framework 4.7.2 und frühere Versionen abzielen, kann ein Steuerelement tooltip nur durch Bewegen eines Mauszeigers in das Steuerelement angezeigt werden.In applications that target .NET Framework 4.7.2 and earlier versions, a control tooltip can only be triggered to pop up by moving a mouse pointer into the control. Ab .NET Framework 4.8 kann ein Tastaturbenutzer die QuickInfo eines Steuerelements aufrufen, indem er das Steuerelement mit einer Tabulatortaste oder Pfeiltasten mit oder ohne Zusatztasten fokussiert.Starting with .NET Framework 4.8, a keyboard user can trigger a control’s tooltip by focusing the control using a Tab key or arrow keys with or without modifier keys. Für diese Verbesserungen der Barrierefreiheit ist ein zusätzlicher AppContext-Schalter erforderlich:This particular accessibility enhancement requires an additional AppContext switch:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <startup>
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
   </startup>
   <runtime>
      <!-- AppContextSwitchOverrides values are in the form of 'key1=true|false;key2=true|false  -->
      <!-- Please note that disabling Switch.UseLegacyAccessibilityFeatures, Switch.UseLegacyAccessibilityFeatures.2 and Switch.UseLegacyAccessibilityFeatures.3 is required to disable Switch.System.Windows.Forms.UseLegacyToolTipDisplay -->
      <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false;Switch.UseLegacyAccessibilityFeatures.2=false;Switch.UseLegacyAccessibilityFeatures.3=false;Switch.System.Windows.Forms.UseLegacyToolTipDisplay=false"/>
   </runtime>
</configuration>

Die folgende Abbildung zeigt die QuickInfo, wenn der Benutzer eine Schaltfläche mit der Tastatur ausgewählt hat.The following figure shows the tooltip when the user has selected a button with the keyboard.

QuickInfo, wenn Benutzer mit der Tastatur zur Schaltfläche navigiert

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)

Ab .NET Framework 4.8 enthält WPF eine Reihe von Verbesserungen der Barrierefreiheit.Starting with .NET Framework 4.8, WPF includes a number of accessibility improvements.

Die Sprachausgabe kündigt keine Elemente mit der Sichtbarkeit „Collapsed“ oder „Hidden“ mehr anScreen narrators no longer announce elements with Collapsed or Hidden visibility

Elemente mit der Sichtbarkeit „Collapsed“ oder „Hidden“ werden von der Sprachausgabe nicht mehr angekündigt.Elements with collapsed or hidden visibility are no longer announced by screen reader. Benutzeroberflächen, die Elemente mit einer Sichtbarkeit Visibility.Collapsed oder Visibility.Hidden enthalten, können durch die Sprachausgabe falsch interpretiert werden, wenn sie dem Benutzer angekündigt werden.User interfaces that contain elements with a Visibility of Visibility.Collapsed or Visibility.Hidden can be misrepresented by screen readers if they are announced to the user. Ab .NET Framework 4.8 enthält WPF keine komprimierten oder ausgeblendeten Elemente mehr in der Steuerelementansicht der UIAutomation-Struktur, sodass die Sprachausgabe diese Elemente nicht mehr ankündigen kann.Starting with .NET Framework 4.8, WPF no longer includes collapsed or hidden elements in the Control View of the UIAutomation tree, so the screen readers can no longer announce these elements.

SelectionTextBrush-Eigenschaft für die Verwendung mit einer nicht Adorner-basierten TextauswahlSelectionTextBrush property for use with non-Adorner based text selection

In .NET Framework 4.7.2.2 hat WPF die Möglichkeit hinzugefügt, eine TextBox- und PasswordBox-Textauswahl zu zeichnen, ohne die Adornerebene zu verwenden.In the .NET Framework 4.7.2, WPF added the ability to draw TextBox and PasswordBox text selection without using the Adorner layer. Die Vordergrundfarbe des markierten Texts in diesem Szenario wurde von SystemColors.HighlightTextBrush vorgegeben.The foreground color of the selected text in this scenario was dictated by SystemColors.HighlightTextBrush.

.NET Framework 4.8 fügt eine neue Eigenschaft, SelectionTextBrush, hinzu, die es Entwicklern ermöglicht, den spezifischen Pinsel für den ausgewählten Text auszuwählen, wenn sie eine nicht Adorner-basierte Textauswahl verwenden..NET Framework 4.8 adds a new property, SelectionTextBrush, that allows developers to select the specific brush for the selected text when using non-Adorner based text selection. Diese Eigenschaft funktioniert nur bei TextBoxBase-basierten Steuerelementen und dem PasswordBox-Steuerelement in WPF-Anwendungen, bei denen die nicht auf Adorner basierende Textauswahl aktiviert ist.This property works only on TextBoxBase-derived controls and the PasswordBox control in WPF applications with non-Adorner-based text selection enabled. Sie funktioniert nicht für das RichTextBox-Steuerelement.It does not work on the RichTextBox control. Wenn die nicht auf Adorner basierende Textauswahl nicht aktiviert ist, wird diese Eigenschaft ignoriert.If non-Adorner-based text selection is not enabled, this property is ignored.

Um diese Eigenschaft zu verwenden, fügen Sie sie einfach zu Ihrem XAML-Code hinzu, und verwenden Sie den entsprechenden Pinsel oder die passende Bindung.To use this property, simply add it to your XAML code and use the appropriate brush or binding. Die sich daraus ergebende Textauswahl sieht folgendermaßen aus:The resulting text selection looks like this:

QuickInfo, wenn Benutzer mit der Tastatur zur Schaltfläche navigiert

Sie können die Verwendung der Eigenschaften SelectionBrush und SelectionTextBrush kombinieren, um jede beliebige Hintergrund- und Vordergrundfarbkombination zu generieren, die Sie für zweckmäßig halten.You can combine the use of the SelectionBrush and SelectionTextBrush properties to generate any background and foreground color combination that you deem appropriate.

Unterstützung für die UIAutomation ControllerFor-EigenschaftSupport for the UIAutomation ControllerFor property

Die ControllerFor-Eigenschaft von UIAutomation gibt ein Array von Automatisierungselementen zurück, die von dem Automatisierungselement geändert werden, das diese Eigenschaft unterstützt.UIAutomation’s ControllerFor property returns an array of automation elements that are manipulated by the automation element that supports this property. Diese Eigenschaft wird häufig bei der Vorschlagsuche verwendet.This property is commonly used for Auto-suggest accessibility. ControllerFor wird verwendet, wenn ein Automatisierungselement ein oder mehrere Segmente der Benutzeroberfläche der Anwendung oder des Desktops beeinflusst.ControllerFor is used when an automation element affects one or more segments of the application UI or the desktop. Andernfalls ist es schwierig, die Auswirkungen des Steuerelementvorgangs den Elementen der Benutzeroberfläche zuzuordnen.Otherwise, it is hard to associate the impact of the control operation with UI elements. Dieses Feature fügt die Möglichkeit hinzu, dass Steuerelemente einen Wert für die ControllerFor-Eigenschaft bereitstellen.This feature adds the ability for controls to provide a value for the ControllerFor property.

.NET Framework 4.8 fügt eine neue virtuelle Methode hinzu: GetControlledPeersCore()..NET Framework 4.8 adds a new virtual method, GetControlledPeersCore(). Auf einen Wert für die ControllerFor Eigenschaft einfach diese Methode überschreiben und Zurückgeben einer List<AutomationPeer> für die Steuerelemente, die von diesem bearbeiteten AutomationPeer:To provide a value for the ControllerFor property, simply override this method and return a List<AutomationPeer> for the controls being manipulated by this AutomationPeer:

public class AutoSuggestTextBox: TextBox
{
   protected override AutomationPeer OnCreateAutomationPeer()
   {
      return new AutoSuggestTextBoxAutomationPeer(this);
   }

   public ListBox SuggestionListBox;
}

internal class AutoSuggestTextBoxAutomationPeer : TextBoxAutomationPeer
{
   public AutoSuggestTextBoxAutomationPeer(AutoSuggestTextBox owner) : base(owner)
   {
   }

   protected override List<AutomationPeer> GetControlledPeersCore()
   {
      List<AutomationPeer> controlledPeers = new List<AutomationPeer>();
      AutoSuggestTextBox owner = Owner as AutoSuggestTextBox;
      controlledPeers.Add(UIElementAutomationPeer.CreatePeerForElement(owner.SuggestionListBox));
      return controlledPeers;
   }
}

QuickInfos für den TastaturzugriffTooltips on keyboard access

In .NET Framework 4.7.2 und früheren Versionen werden QuickInfos nur angezeigt, wenn der Benutzer den Mauszeiger über ein Steuerelement bewegt.In .NET Framework 4.7.2 and earlier versions, tooltips display only when the user hovers the mouse cursor over a control. In .NET Framework 4.8 werden QuickInfos auch beim Fokussieren mit der Tastatur sowie über eine Tastenkombination angezeigt.In .NET Framework 4.8, tooltips also display on keyboard focus, as well as via a keyboard shortcut.

Um dieses Feature zu aktivieren, muss eine Anwendung .NET Framework 4.8 als Ziel verwenden oder sich mit den Switch.UseLegacyAccessibilityFeatures.3- und Switch.UseLegacyToolTipDisplay-AppContext-Schaltern anmelden.To enable this feature, an application needs to target .NET Framework 4.8 or opt-in by using the Switch.UseLegacyAccessibilityFeatures.3 and Switch.UseLegacyToolTipDisplay AppContext switches. Nachfolgend finden Sie die Konfigurationsdatei für eine Beispielanwendung:The following is a sample application configuration file:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <startup>
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
   </startup>
   <runtime>
      <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false;Switch.UseLegacyAccessibilityFeatures.2=false;Switch.UseLegacyAccessibilityFeatures.3=false;Switch.UseLegacyToolTipDisplay=false" />
   </runtime>
</configuration>

Nach der Aktivierung zeigen alle Steuerelemente, die eine QuickInfo enthalten, diese an, sobald die Tastatur auf das Steuerelement fokussiert.Once enabled, all controls that contain a tooltip display it once the control receives keyboard focus. Die QuickInfo kann im Laufe der Zeit oder bei einer Änderung des Tastaturfokus deaktiviert werden.The tooltip can be dismissed over time or when the keyboard focus changes. Benutzer können die QuickInfo auch manuell verwerfen, indem sie eine neue Tastenkombination verwenden, STRG + UMSCHALT + F10.Users can also dismiss the tooltip manually by using a new keyboard shortcut, Ctrl + Shift + F10. Wenn die QuickInfo verworfen wurde, kann sie mithilfe der gleichen Tastenkombination wieder angezeigt werden.Once the tooltip has been dismissed it can be displayed again by using the same keyboard shortcut.

Hinweis

Menüband-QuickInfos auf Ribbon-Steuerelementen werden nicht beim Tastaturfokus angezeigt, sondern nur über die Tastenkombination.Ribbon tooltips on Ribbon controls won’t show on keyboard focus; they only show via the keyboard shortcut.

Unterstützung für SizeOfSet- und PositionInSet-UIAutomation-Eigenschaften hinzugefügtAdded Support for SizeOfSet and PositionInSet UIAutomation properties

Windows 10 hat zwei neue UIAutomation-Eigenschaften eingeführt, SizeOfSet und PositionInSet, die von Anwendungen verwendet werden, um die Anzahl der Elemente in einem Satz zu beschreiben.Windows 10 introduced two new UIAutomation properties, SizeOfSet and PositionInSet, which are used by applications to describe the count of items in a set. UIAutomation-Clientanwendungen wie die Sprachausgabe können dann eine Anwendung hinsichtlich dieser Eigenschaften abfragen und eine genaue Darstellung der Benutzeroberfläche der Anwendung ankündigen.UIAutomation client applications such as screen readers can then query an application for these properties and announce an accurate representation of the application’s UI.

Ab .NET Framework 4.8 stellt WPF diese beiden Eigenschaften für UIAutomation in WPF-Anwendungen bereit.Starting with .NET Framework 4.8, WPF exposes these two properties to UIAutomation in WPF applications. Dafür stehen zwei Methoden zur Verfügung:This can be accomplished in two ways:

  • Verwenden von AbhängigkeitseigenschaftenBy using dependency properties.

    WPF fügt zwei neue Abhängigkeitseigenschaften, AutomationProperties.SizeOfSet und AutomationProperties.PositionInSet, hinzu.WPF adds two new dependency properties, AutomationProperties.SizeOfSet and AutomationProperties.PositionInSet. Ein Entwickler kann diese Werte mit XAML festlegen:A developer can use XAML to set their values:

    <Button AutomationProperties.SizeOfSet="3"
      AutomationProperties.PositionInSet="1">Button 1</Button>
    
    <Button AutomationProperties.SizeOfSet="3"
      AutomationProperties.PositionInSet="2">Button 2</Button>
    
    <Button AutomationProperties.SizeOfSet="3"
      AutomationProperties.PositionInSet="3">Button 3</Button>
    
  • Überschreiben von virtuellen AutomationPeer-MethodenBy overriding AutomationPeer virtual methods.

    Die AutomationPeer-Klasse wurde mit den virtuellen Methoden GetSizeOfSetCore() und GetPositionInSetCore() erweitert.The GetSizeOfSetCore() and GetPositionInSetCore() virtual methods been added to the AutomationPeer class. Ein Entwickler kann diese Werte für SizeOfSet und PositionInSet durch Überschreiben dieser Methode bereitstellen, wie im folgenden Beispiel gezeigt:A developer can provide values for SizeOfSet and PositionInSet by overriding these methods, as shown in the following example:

    public class MyButtonAutomationPeer : ButtonAutomationPeer
    {
      protected override int GetSizeOfSetCore()
      {
          // Call into your own logic to provide a value for SizeOfSet
          return CalculateSizeOfSet();
      }
    
      protected override int GetPositionInSetCore()
      {
          // Call into your own logic to provide a value for PositionInSet
          return CalculatePositionInSet();
      }
    }
    

Darüber hinaus stellen Elemente in ItemsControl-Instanzen automatisch einen Wert für diese Eigenschaften ohne zusätzliche Maßnahmen des Entwicklers bereit.In addition, items in ItemsControl instances provide a value for these properties automatically without additional action from the developer. Wenn ein ItemsControl gruppiert ist, wird die Sammlung von Gruppen als Satz dargestellt, und jede Gruppe wird als separater Satz gezählt. Dabei gibt jedes Element innerhalb dieser Gruppe seine Position innerhalb dieser Gruppe sowie die Größe der Gruppe an.If an ItemsControl is grouped, the collection of groups is represented as a set, and each group is counted as a separate set, with each item inside that group providing its position inside that group as well as the size of the group. Automatische Werte werden durch Virtualisierung nicht beeinflusst.Automatic values are not affected by virtualization. Selbst wenn ein Element nicht realisiert wird, wird es dennoch auf die Gesamtgröße des Satzes angerechnet und beeinflusst die Position im Satz seiner gleichgeordneten Elemente.Even if an item is not realized, it is still counted toward the total size of the set and affects the position in the set of its sibling items.

Automatische Werte werden nur bereitgestellt, wenn die Anwendung auf .NET Framework 4.8 abzielt.Automatic values are only provided if the application targets .NET Framework 4.8. Für Anwendungen, die auf eine frühere Version von .NET-Frameworks abzielen, können Sie den Switch.UseLegacyAccessibilityFeatures.3-AppContext-Schalter einrichten, wie in der folgenden App.config-Datei gezeigt:For applications that target an earlier version of the .NET Framework, you can set the Switch.UseLegacyAccessibilityFeatures.3 AppContext switch, as shown in the following App.config file:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <startup>
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
   </startup>
   <runtime>
      <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures=false;Switch.UseLegacyAccessibilityFeatures.2=false;Switch.UseLegacyAccessibilityFeatures.3=false" />
   </runtime>
</configuration>

Workflow-Designer von Windows Workflow Foundation (WF)Windows Workflow Foundation (WF) workflow designer

Der Workflow-Designer umfasst in .NET Framework 4.8 folgende Änderungen:The workflow designer includes the following changes in .NET Framework 4.8:

  • Benutzer, die die Sprachausgabe verwenden, werden Verbesserungen bei FlowSwitch-case-Bezeichnungen feststellen.Users using Narrator will see improvements in FlowSwitch case labels.

  • Benutzer, die die Sprachausgabe verwenden, werden Verbesserungen bei Schaltflächenbeschreibungen feststellen.Users using Narrator will see improvements in button descriptions.

  • Benutzer, die Designs mit hohem Kontrast verwenden, werden Verbesserungen in der Sichtbarkeit des Workflow-Designers und dessen Steuerelementen feststellen. Dazu zählen verbesserte Kontrastverhältnisse zwischen Elementen und leichter erkennbare Auswahlfelder für Fokuselemente.Users who choose High Contrast themes will see improvements in the visibility of the Workflow Designer and its controls, like better contrast ratios between elements and more noticeable selection boxes used for focus elements.

Wenn Ihre Anwendung auf .NET Framework 4.7.2 oder eine frühere Version abzielt, können Sie diese Änderungen übernehmen, indem Sie den Switch.UseLegacyAccessibilityFeatures.3-AppContext-Schalter in Ihrer Anwendungskonfigurationsdatei auf false festlegen.If your application targets .NET Framework 4.7.2 or an earlier version, you can opt into these changes by setting the Switch.UseLegacyAccessibilityFeatures.3 AppContext switch to false in your application configuration file. Weitere Informationen finden Sie im Abschnitt Profitieren von Barrierefreiheitsverbesserungen in diesem Artikel.For more information, see the Taking advantage of accessibility enhancements section in this article.

Neuerungen der Barrierefreiheit in .NET Framework 4.7.2What's new in accessibility in .NET Framework 4.7.2

.NET Framework 4.7.2 enthält neue Barrierefreiheitsfunktionen für die folgenden Bereiche:.NET Framework 4.7.2 includes new accessibility features in the following areas:

Windows FormsWindows Forms

Vom Betriebssystem definierte Farben in Designs mit hohem KontrastOS-defined colors in High Contrast themes

Ab .NET Framework 4.7.2 verwendet Windows Forms vom Betriebssystem definierte Farben in Designs mit hohem Kontrast.Starting with .NET Framework 4.7.2, Windows Forms uses colors defined by the operating system in High Contrast themes. Dies hat Auswirkungen auf die folgenden Steuerelemente:This affects the following controls:

Verbesserungen der SprachausgabeNarrator improvements

Ab .NET Framework 4.7.2 treten die folgenden Verbesserungen der Unterstützung der Sprachausgabe in Kraft:Starting with .NET Framework 4.7.2, Narrator support is enhanced as follows:

  • Sie kündigt jetzt den Wert der ToolStripMenuItem.ShortcutKeys-Eigenschaft an, wenn sie den Text eines ToolStripMenuItem ankündigt.It announces the value of the ToolStripMenuItem.ShortcutKeys property when announcing the text of a ToolStripMenuItem.

  • Sie gibt jetzt an, wenn die Enabled-Eigenschaft von ToolStripMenuItem auf false festgelegt ist.It indicates when a ToolStripMenuItem has its Enabled property set to false.

  • Sie stellt jetzt Feedback zum Zustand eines Kontrollkästchens bereit, wenn die ListView.CheckBoxes-Eigenschaft auf true festgelegt ist.It gives feedback on the state of a check box when the ListView.CheckBoxes property is set to true.

  • Die Fokusreihenfolge des Scanmodus der Sprachausgabe ist mit der visuellen Reihenfolge der Steuerelemente für das ClickOnce-Downloaddialogfenster konsistent.Narrator's Scan Mode focus order is consistent with the visual order of the controls on the ClickOnce download dialog window.

DataGridView-VerbesserungenDataGridView improvements

Ab .NET Framework 4.7.2 wurden mit dem DataGridView-Steuerelement die folgenden Barrierefreiheitsverbesserungen eingeführt:Starting with .NET Framework 4.7.2, the DataGridView control has introduced the following accessibility improvements:

Verbesserte visuelle HinweiseImproved visual cues

  • Die RadioButton- und CheckBox-Steuerelemente mit einer leeren Text-Eigenschaft zeigen einen Fokusindikator an, wenn sie den Fokus erhalten.The RadioButton and CheckBox controls with an empty Text property display a focus indicator when they receive the focus.

Verbesserte Unterstützung für das EigenschaftenrasterImproved Property Grid Support

  • Die untergeordneten Elemente des PropertyGrid-Steuerelements geben jetzt nur dann true für die IsReadOnlyProperty-Eigenschaft zurück, wenn ein PropertyGrid-Element aktiviert ist.The PropertyGrid control child elements now return a true for the IsReadOnlyProperty property only when a PropertyGrid element is enabled.

  • Die untergeordneten Elemente des PropertyGrid-Steuerelements geben nur dann false für die IsEnabledProperty-Eigenschaft zurück, wenn ein PropertyGrid-Element vom Benutzer geändert werden kann.The PropertyGrid control child elements return a false for the IsEnabledProperty property only when a PropertyGrid element can be changed by the user.

Verbesserte TastaturnavigationImproved keyboard navigation

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)

Änderungen an den Steuerelementen CheckBox und RadioButtonChanges to the CheckBox and RadioButton controls

In .NET Framework 4.7.1 und früheren Versionen weisen die WPF-Steuerelemente CheckBox und RadioButton inkonsistente und im klassischen Design sowie im Design mit hohem Kontrast falsche visuelle Fokuselemente auf.In .NET Framework 4.7.1 and earlier versions, the WPF CheckBox and RadioButton controls have inconsistent and, in Classic and High Contrast themes, incorrect focus visuals. Diese Probleme treten in Fällen auf, in denen für die Steuerelemente keine Inhalte festgelegt sind.These issues occur in cases where the controls do not have any content set. Dadurch kann der Übergang zwischen Designs verwirrend wirken und das visuelle Fokuselement schwer zu erkennen sein.This can make the transition between themes confusing and the focus visual hard to see.

In .NET Framework, 4.7.2 sind diese visuellen Elemente jetzt designübergreifend konsistenter und im klassischen Design sowie im Design mit hohem Kontrast leichter zu erkennen.In .NET Framework 4.7.2, these visuals are now more consistent across themes and more easily visible in Classic and High Contrast themes.

WinForms-Steuerelemente, die in einer WPF-Anwendungen gehostet werdenWinForms controls hosted in a WPF application

In .NET Framework 4.7.1 und früheren Versionen konnten Benutzer für das in einer WPF-Anwendung gehostete Steuerelement nicht die TAB-TASTE verwenden, um die WinForms-Ebene zu verlassen, wenn es sich bei dem ersten Steuerelement auf dieser Ebene um das WPF-Steuerelement ElementHost handelte.For WinForms control hosted in a WPF application in .NET Framework 4.7.1 and earlier versions, users couldn't tab out of the WinForms layer if the first or last control in that layer is the WPF ElementHost control. In .NET Framework 4.7.2 können Benutzer jetzt die WinForms-Ebene über die TAB-TASTE verlassen.In .NET Framework 4.7.2, users are now able to tab out of the WinForms layer.

Es kann jedoch sein, dass automatisierte Anwendungen, für die der Fokus dauerhaft auf der WinForms-Ebene liegen muss, nicht mehr einwandfrei funktionieren.However, automated applications that rely on focus never escaping the WinForms layer may no longer work as expected.

Neuerungen der Barrierefreiheit in .NET Framework 4.7.1What's new in accessibility in .NET Framework 4.7.1

.NET Framework 4.7.1 enthält neue Barrierefreiheitsfunktionen für die folgenden Bereiche:.NET Framework 4.7.1 includes new accessibility features in the following areas:

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)

Verbesserungen der SprachausgabeScreen reader improvements

Wenn die Verbesserungen der Barrierefreiheit aktiviert sind, enthält .NET Framework 4.7.1 folgende Verbesserungen, die sich auf die Sprachausgabe auswirken:If accessibility improvements are enabled, .NET Framework 4.7.1 includes the following enhancements that affect screen readers:

  • In .NET Framework 4.7 und früher wurden Expander-Steuerelemente von der Sprachausgabe als Schaltflächen ausgegeben.In .NET Framework 4.7 and earlier versions, Expander controls were announced by screen readers as buttons. Ab .NET Framework 4.7.1 werden diese ordnungsgemäß als erweiterbare bzw. reduzierbare Gruppen ausgegeben.Starting with .NET Framework 4.7.1, they are correctly announced as expandable/collapsible groups.

  • In .NET Framework 4.7 und früher wurden DataGridCell-Steuerelemente von der Sprachausgabe als „benutzerdefiniert“ ausgegeben.In .NET Framework 4.7 and earlier versions, DataGridCell controls were announced by screen readers as “custom.” Ab .NET Framework 4.7.1 werden diese ordnungsgemäß als (lokalisierte) Datenrasterzellen ausgegeben.Starting with .NET Framework 4.7.1, they are now correctly announced as data grid cell (localized).

  • Ab .NET Framework 4.7.1 gibt die Sprachausgabe den Namen einer bearbeitbaren ComboBox-Klasse aus.Starting with .NET Framework 4.7.1, screen readers announce the name of an editable ComboBox.

  • In .NET Framework 4.7 und früher wurden PasswordBox-Steuerelemente als „Es befindet sich kein Element in der Ansicht.“ ausgegeben oder wiesen andere fehlerhafte Verhaltensweisen auf.In .NET Framework 4.7 and earlier versions, PasswordBox controls were announced as “no item in view” or had otherwise incorrect behavior. Dieses Problem wurde in .NET Framework 4.7.1 behoben.This issue is fixed starting with .NET Framework 4.7.1.

Unterstützung von dynamischen Bereichen für die UIAutomationUIAutomation LiveRegion support

Die Sprachausgabe unterstützt die Benutzer beim Lesen der Inhalte der Benutzeroberfläche einer Anwendung. Dies geschieht üblicherweise durch eine Sprachausgabe des Texts der Inhalte der Benutzeroberfläche, die den Fokus besitzen.Screen readers such as Narrator help people read the UI contents of an application, usually by text-to-speech output of the UI content that has the focus. Wenn ein Element der Benutzeroberfläche sich jedoch verändert oder den Fokus nicht besitzt, wird der Benutzer möglicherweise nicht benachrichtigt, wodurch ihm wichtige Informationen entgehen können.However, if a UI element changes and does not have the focus, the user may not be notified and may miss important information. Durch dynamische Bereiche soll dieses Problem behoben werden.Live regions aim at solving this problem. Entwickler können diese verwenden, um der Sprachausgabe oder einem anderen UIAutomation-Client mitzuteilen, dass eine wichtige Änderung an einem Element der Benutzeroberfläche vorgenommen wurde.A developer can use them to inform the screen reader or any other UIAutomation client that an important change has been made to a UI element. Die Sprachausgabe kann dann entscheiden, wie und wann der Benutzer über diese Änderung informiert wird.The screen reader can then decide how and when to inform the user of this change.

Folgende APIs wurden zu WPF hinzugefügt, um dynamische Bereiche zu unterstützen:To support live regions, the following APIs have been added to WPF:

Sie können einen dynamischen Bereich erstellen, indem Sie die Eigenschaft AutomationProperties.LiveSetting wie im folgenden Beispiel dargestellt auf das relevante Element festlegen:You can create a LiveRegion by setting the AutomationProperties.LiveSetting property on the element of interest, as shown in the following example:

<TextBlock Name="myTextBlock" AutomationProperties.LiveSetting="Assertive">announcement</TextBlock>

Wenn die Daten im dynamischen Bereich geändert werden und diese Änderung der Sprachausgabe mitgeteilt werden soll, müssen Sie wie im folgenden Beispiel dargestellt explizit ein Ereignis auslösen.When the data in the live region changes and you need to inform a screen reader, you explicitly raise an event, as shown in the following sample.

var peer = FrameworkElementAutomationPeer.FromElement(myTextBlock);

peer.RaiseAutomationEvent(AutomationEvents.LiveRegionChanged);
Dim peer = FrameworkElementAutomationPeer.FromElement(myTextBlock)
peer.RaiseAutomationEvent(AutomationEvents.LiveRegionChanged)

Hoher KontrastHigh contrast

Ab .NET Framework 4.7.1 wurden Verbesserungen am Design „Hoher Kontrast“ für verschiedene WPF-Steuerelemente vorgenommen.Starting with .NET Framework 4.7.1, improvements in high contrast have been made to various WPF controls. Diese sind nun sichtbar, wenn das HighContrast-Design festgelegt ist.They are now visible when the HighContrast theme is set. Dazu gehören:These include:

  • Expander-SteuerelementExpander control

    Das visuelle Fokuselement für das Expander-Steuerelement wird nun angezeigt.The focus visual for the Expander control is now visible. Das visuelle Tastaturelement für die ComboBox-, ListBox- und RadioButton-Steuerelemente wird ebenfalls angezeigt.The keyboard visuals for ComboBox,ListBox, and RadioButton controls are visible as well. Beispiel:For example:

    Vorher:Before: 

    Das Expander-Steuerelement mit Fokus vor der Verbesserung der Barrierefreiheit

    Nachher:After: 

    Das Expander-Steuerelement mit Fokus nach der Verbesserung der Barrierefreiheit

  • CheckBox- und RadioButton-SteuerelementeCheckBox and RadioButton controls

    Der Text in den CheckBox- und RadioButton-Steuerelementen ist nun leichter zu erkennen, wenn das Design mit hohem Kontrast ausgewählt ist.The text in the CheckBox and RadioButton controls is now easier to see when selected in high contrast themes. Beispiel:For example:

    Vorher:Before: 

    Das Optionsfeld im Design mit hohem Kontrast mit Fokus vor der Verbesserung der Barrierefreiheit

    Nachher:After: 

    Das Optionsfeld im Design mit hohem Kontrast mit Fokus nach der Verbesserung der Barrierefreiheit

  • ComboBox-SteuerelementComboBox control

    Ab .NET Framework 4.7.1 hat der Rahmen eines deaktivierten ComboBox-Steuerelements die gleiche Farbe wie der deaktivierte Text.Starting with .NET Framework 4.7.1, the border of a disabled ComboBox control is the same color as disabled text. Beispiel:For example:

    Vorher:Before: 

    Rahmen und Text eines deaktivierten ComboBox-Steuerelements vor der Verbesserung der Barrierefreiheit

    Nachher:After:   

    Rahmen und Text eines deaktivierten ComboBox-Steuerelements nach der Verbesserung der Barrierefreiheit

    Darüber hinaus verwenden deaktivierte Schaltflächen und Schaltflächen mit Fokus das richtige Farbdesign.In addition, disabled and focused buttons use the correct theme color.

    Vorher:Before:

    Farbdesign der Schaltflächen vor der Verbesserung der Barrierefreiheit 

    Nachher:After: 

    Farbdesign der Schaltflächen nach der Verbesserung der Barrierefreiheit 

    In .NET Framework 4.7 und früher führte das Festlegen des Formats eines ComboBox-Steuerelements auf Toolbar.ComboBoxStyleKey dazu, dass der Dropdownpfeil nicht angezeigt wurde.Finally, in .NET Framework 4.7 and earlier versions, setting a ComboBox control’s style to Toolbar.ComboBoxStyleKey caused the drop-down arrow to be invisible. Dieses Problem wurde in .NET Framework 4.7.1 behoben.This issue is fixed starting with .NET Framework 4.7.1. Beispiel:For example:

    Vorher:Before: 

    „Toolbar.ComboBoxStyleKey“ vor der Verbesserung der Barrierefreiheit 

    Nachher:After: 

    „Toolbar.ComboBoxStyleKey“ nach der Verbesserung der Barrierefreiheit 

  • DataGrid-SteuerelementDataGrid control

    Ab .NET Framework 4.7.1 verwendet der Pfeil für die Sortieranzeige in den DataGrid-Steuerelementen das richtige Farbdesign.Starting with .NET Framework 4.7.1, the sort indicator arrow in DataGrid controls now uses correct theme colors. Beispiel:For example:

    Vorher:Before: 

    Pfeil für die Sortieranzeige vor der Verbesserung der Barrierefreiheit 

    Nachher:After:   

    Pfeil für die Sortieranzeige nach der Verbesserung der Barrierefreiheit 

    Darüber hinaus wurde in .NET Framework 4.7 und früher das Standarddesign für Links geändert, wodurch Links beim Bewegen der Maus über diese im Modus mit hohem Kontrast in der falschen Farbe angezeigt wurden.In addition, in .NET Framework 4.7 and earlier versions, the default link style changed to an incorrect color on mouse over in high contrast modes. Dieses Problem wurde in .NET Framework 4.7.1 behoben.This is resolved starting with .NET Framework 4.7.1. Auf ähnliche Weise verwenden die Spalten des Kontrollkästchens DataGrid ab .NET Framework 4.7.1 die erwarteten Farben für das Feedback des Tastaturfokus.Similarly, DataGrid checkbox columns uses the expected colors for keyboard focus feedback starting with .NET Framework 4.7.1.

    Vorher:Before: 

    DataGrid-Standarddesign für Links vor der Verbesserung der Barrierefreiheit 

    Nachher:After:    

    DataGrid-Standarddesign für Links nach der Verbesserung der Barrierefreiheit 

Weitere Informationen zu Verbesserungen der WPF-Barrierefreiheit in .NET Framework 4.7.1 finden Sie unter Verbesserung der Barrierefreiheit in WPF.For more information on WPF accessibility improvements in .NET Framework 4.7.1, see Accessibility improvements in WPF.

Verbesserung der Barrierefreiheit von Windows FormsWindows Forms accessibility improvements

In .NET Framework 4.7.1 enthält Windows Forms (WinForms) Verbesserungen der Barrierefreiheit für folgende Bereiche:In .NET Framework 4.7.1, Windows Forms (WinForms) includes accessibility changes in the following areas.

Verbesserte Anzeige im Modus mit hohem KontrastImproved display in High Contrast mode

Ab .NET Framework 4.7.1 bieten viele WinForms-Steuerelemente ein verbessertes Rendering für die Modi mit hohem Kontrast, die im Betriebssystem verfügbar sind.Starting with .NET Framework 4.7.1, various WinForms controls offer improved rendering in the HighContrast modes available in the operating system. In Windows 10 wurden die Werte für einige Systemfarbe im Design mit hohem Kontrast geändert, und Windows Forms basiert auf dem Win32-Framework von Windows 10.Windows 10 has changed the values for some high contrast system colors, and Windows Forms is based on the Windows 10 Win32 framework. Führen Sie für die besten Ergebnisse die aktuelle Version von Windows aus, und aktivieren Sie die neuesten Änderungen am Betriebssystem, indem Sie eine app.manifest-Datei zu einer Testanwendung hinzufügen und den Kommentar aus der SupportedOS-Zeile für Windows 10 entfernen, sodass diese folgendermaßen aussieht:For the best experience, run on the latest version of Windows and opt in to the latest OS changes by adding an app.manifest file in a test application and un-comment the Windows 10 supported OS  line so that it looks the following:

<!-- Windows 10 -->
<supportedOS Id=”{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}” />

Folgende Änderungen wurden am Design mit hohem Kontrast vorgenommen:Some examples of high contrast changes include:

  • Die Kontrollkästchen der MenuStrip-Elemente können einfacher angezeigt werden.Checkmarks in MenuStrip items are easier to view.

  • Wenn diese aktiviert werden, können deaktivierte MenuStrip-Elemente einfacher angezeigt werden.When selected, disabled MenuStrip items are easier to view.

  • Der Text in einem ausgewählten Button-Kontrollkästchen bildet einen Kontrast zur Auswahlfarbe.Text in a selected Button control contrasts with the selection color.

  • Deaktivierter Text ist einfacher zu lesen.Disabled text is easier to read. Beispiel:For example:

    Vorher:Before:

    Deaktivierter Text vor der Verbesserung der Barrierefreiheit 

    Nachher:After:

    Deaktivierter Text nach der Verbesserung der Barrierefreiheit 

  • Verbesserungen am Design mit hohem Kontrast im Dialogfeld der Threadausnahme.High contrast improvements in the Thread Exception Dialog.

Verbesserte Unterstützung für die SprachausgabeImproved Narrator support

Windows Forms in .NET Framework 4.7.1 enthält folgende Verbesserungen für die Barrierefreiheit der Sprachausgabe:Windows Forms in .NET Framework 4.7.1 includes the following accessibility improvements for the Narrator:

  • Auf das MonthCalendar-Steuerelement kann über die Sprachausgabe sowie über andere Tools zur Automatisierung der Benutzeroberfläche zugegriffen werden.The MonthCalendar control can be accessed by the Narrator, as well as by other UI automation tools.

  • Das CheckedListBox-Steuerelement teilt der Sprachausgabe mit, wenn der Aktivierungszustand eines Elements geändert wurde, sodass der Benutzer darüber benachrichtigt wird, dass der Wert eines Listenelements verändert wurde.The CheckedListBox control notifies Narrator when an item's check state has changed so the user is notified that they’ve changed the value of a list item.

  • Das DataGridViewCell-Steuerelement teilt der Sprachausgabe den richtigen schreibgeschützten Status mit.The DataGridViewCell control reports the correct read-only status to Narrator.

  • Die Sprachausgabe kann nun deaktivierten ToolStripMenuItem-Text ausgeben, während deaktivierte Menüelemente zuvor übersprungen wurden.Narrator can now read disabled ToolStripMenuItem text, whereas previously it would skip over disabled menu items.

Verbesserte Unterstützung für die Barrierefreiheitsmuster der UIAutomationEnhanced support for UIAutomation accessibility patterns

Ab .NET Framework 4.7.1 können die Entwickler von Tools für Barrierefreiheitstechnologien allgemeine API-Barrierefreiheitsmuster und -eigenschaften für mehrere WinForms-Steuerelemente verwenden.Starting with .NET Framework 4.7.1, developers of accessibility technology tools can leverage common API accessibility patterns and properties for several WinForms controls. Folgende Verbesserungen der Barrierefreiheit wurden vorgenommen:These accessibility improvements include:

Verbesserter EigenschaftenbrowserImproved property browser experience

Ab .NET Framework 4.7.1 enthält Windows Forms Folgendes:Starting with .NET Framework 4.7.1, Windows Forms includes:

  • Eine verbesserte Tastaturnavigation durch die verschiedenen Fenster der DropdownauswahlBetter keyboard navigation through the various drop-down selection windows.
  • Eine Verringerung unnötiger TabstoppsA reduction of unnecessary tab stops.
  • Eine verbesserte Berichterstellung der SteuerelementtypenBetter reporting of control types.
  • Ein verbessertes Verhalten der SprachausgabeImproved narrator behavior.

ASP.NET-WebsteuerelementeASP.NET web controls

Ab .NET Framework 4.7.1 und Visual Studio 2017 15.3 arbeiten .ASP.NET-Websteuerelemente effizienter mit den Funktionen für die Barrierefreiheit in Visual Studio zusammen.Starting with .NET Framework 4.7.1 and Visual Studio 2017 15.3, ASP.NET improves how ASP.NET web controls work with accessibility technology in Visual Studio. Dazu gehören folgende Änderungen:Changes include the following:

  • Änderungen, durch die fehlende Barrierefreiheitsmuster für Steuerelemente der Benutzeroberfläche implementiert werden. Zu diesen Steuerelementen zählen z.B. das Dialogfeld Feld hinzufügen im Detailansicht-Assistenten oder das Dialogfeld ListView konfigurieren im ListView-Assistenten.Changes to implement missing UI accessibility patterns in controls, like the Add Field dialog in the Details View wizard, or the Configure ListView dialog of the ListView wizard.

  • Änderungen zur Verbesserung der Anzeige im Modus für hohe Kontraste, z.B. beim DataPager-Feld-Editor.Changes to improve the display in High Contrast mode, like the Data Pager Fields Editor.

  • Änderungen zur Verbesserung der Benutzerfreundlichkeit bei der Tastaturnavigation für Steuerelemente, z.B. beim Dialogfeld Felder im Assistenten für das Bearbeiten von Pagerfeldern des DataPager-Steuerelements, beim Dialogfeld ObjectContext konfigurieren oder beim Dialogfeld Datenauswahl konfigurieren des Assistenten zum Konfigurieren der Datenquelle.Changes to improve the keyboard navigation experiences for controls, like the Fields dialog in the Edit Pager Fields wizard of the DataPager control, the Configure ObjectContext dialog, or the Configure Data Selection dialog of the Configure Data Source wizard.

.NET SDK-Tools.NET SDK Tools

Das Configuration Editor-Tool (SvcConfigEditor.exe) und das Service Trace Viewer-Tool (SvcTraceViewer.exe) wurden verbessert, indem verschiedene Barrierefreiheitsprobleme verbessert wurden.The Configuration Editor Tool (SvcConfigEditor.exe) and Service Trace Viewer Tool (SvcTraceViewer.exe) have been improved by fixing varied accessibility issues. In den meisten Fälle handelte es sich um kleinere Probleme, durch die ein Name nicht definiert wurde oder bestimmte Muster für die Benutzeroberflächenautomatisierung nicht richtig implementiert wurden.Most of these were small issues, like a name not being defined or certain UI automation patterns not being implemented correctly. Obwohl viele Benutzer diese falschen Werte nicht bemerken würden, erhöhen die SDK-Tools die Benutzerfreundlichkeit für Kunden, die Hilfstechnologien wie die Sprachausgabe verwenden.While many users won’t be aware of these incorrect values, customers who use assistive technologies like screen readers will find these SDK tools more accessible.

Durch diese Verbesserungen ändert sich vorheriges Verhalten wie die Reihenfolge des Tastaturfokus.These enhancements change some previous behaviors, such as keyboard focus order.

Workflow-Designer von Windows Workflow Foundation (WF)Windows Workflow Foundation (WF) Workflow Designer

Die Barrierefreiheitsänderungen im Workflow-Designer umfassen Folgendes:Accessibility changes in the Workflow Designer include the following:

  • Die Aktivierreihenfolge wurde bei manchen Steuerelementen in „Von links nach rechts“ und in „Von oben nach unten“ geändert:The tab order changes to left to right and top to bottom in some controls:

  • Weitere Funktionen sind über die Tastatur verfügbar:More functions are available via the keyboard:

    • Beim Bearbeiten der Eigenschaften einer Aktivität können die Eigenschaftengruppen über die Tastatur reduziert werden, wenn diese zum ersten Mal fokussiert werden.When editing the properties of an activity, property groups can be collapsed by keyboard the first time they are focused.

    • Auf Warnsymbole kann über die Tastatur zugegriffen werden.Warning icons are accessible by keyboard.

    • Auf die Schaltfläche Weitere Eigenschaften im Fenster Eigenschaften kann über die Tastatur zugegriffen werden.The More Properties button in the Properties window is accessible by keyboard.

    • Tastaturbenutzer können auf die Headerelemente in den Bereichen Argumente und Variablen des Workflow-Designers zugreifen.Keyboard users can access the header items in the Arguments and Variables panes of the Workflow Designer.

  • Verbesserte Sichtbarkeit von Elementen mit Fokus, z.B. in folgenden Fällen:Improved visibility of items with focus, such as when:

    • Hinzufügen von Zeilen zu Datenrastern, die vom Workflow-Designer und von Aktivitäts-Designern verwendet werdenAdding rows to data grids used by the Workflow Designer and activity designers.

    • Wechseln von Feldern mit der TAB-TASTE in den Aktivitäten ReceiveReply und SendReplyTabbing through fields in the ReceiveReply and SendReply activities.

    • Festlegen von Standardwerten für Variablen oder ArgumenteSetting default values for variables or arguments

  • Sprachausgaben können Folgendes nun richtig erkennen:Screen readers can now correctly recognize:

    • Breakpoints, die im Workflow-Designer festgelegt wurdenBreakpoints set in the workflow designer.

    • Die Aktivitäten FlowSwitch<T>, FlowDecision und CorrelationScopeThe FlowSwitch<T>, FlowDecision, and CorrelationScope activities.

    • Die Inhalte der Receive-AktivitätThe contents of the Receive activity.

    • Den Zieltyp für die InvokeMethod-AktivitätThe Target Type for the InvokeMethod activity.

    • Das Kombinationsfeld „Ausnahme“ und den Abschnitt „Finally“ in der TryCatch-AktivitätThe Exception combo box and the Finally section in the TryCatch activity.

    • Das Kombinationsfeld „Nachrichtentyp“, den Splitter im Fenster „Korrelationsinitialisierer hinzufügen“, das Fenster „Inhaltsdefinition“ und das Definitionsfenster „CorrelatesOn“ in den Messagingaktivitäten (Receive, Send, SendReply und ReceiveReply)The Message Type combo box, the splitter in the Add Correlation Initializers window, the Content Definition window, and the CorrelatesOn Definition window in the messaging activities (Receive, Send, SendReply, and ReceiveReply).

    • Übertragungen von Zustandsautomaten und ÜbertragungszieleState machine transitions and transitions destinations.

    • Anmerkungen und Connectors von FlowDecision-AktivitätenAnnotations and connectors on FlowDecision activities.

    • Die per Rechtsklick aufrufbaren Kontextmenüs von AktivitätenThe context (right-click) menus for activities.

    • Die Editors für Eigenschaftswerte, die Schaltfläche, „Suche löschen“, die Sortierschaltflächen „Nach Kategorie“ und „Alphabetisch“ sowie das Dialogfeld „Ausdrucks-Editor“ im EigenschaftenrasterThe property value editors, the Clear Search button, the By Category and Alphabetical sort buttons, and the Expression Editor dialog in the properties grid.

    • Den Zoomprozentwert im Workflow-DesignerThe zoom percentage in the Workflow Designer.

    • Das Trennzeichen in den Aktivitäten Parallel und PickThe separator in Parallel and Pick activities.

    • Die InvokeDelegate-AktivitätThe InvokeDelegate activity.

    • Das Fenster „Typen auswählen“ für Wörterbuchaktivitäten (Microsoft.Activities.AddToDictionary<TKey,TValue>, Microsoft.Activities.RemoveFromDictionary<TKey,TValue> usw.)The Select Types window for dictionary activities (Microsoft.Activities.AddToDictionary<TKey,TValue>, Microsoft.Activities.RemoveFromDictionary<TKey,TValue>, etc.).

    • Das Fenster „.NET-Typ suchen und auswählen“The Browse and Select .NET Type window.

    • Breadcrumbs im Workflow-DesignerBreadcrumbs in the Workflow Designer.

  • Benutzer, die Designs mit hohem Kontrast verwenden, werden viele Verbesserungen in der Sichtbarkeit des Workflow-Designers und dessen Steuerelementen feststellen. Dazu zählen verbesserte Kontrastverhältnisse zwischen Elementen und leichter erkennbare Auswahlfelder für Fokuselemente.Users who choose High Contrast themes will see many improvements in the visibility of the Workflow Designer and its controls, like better contrast ratios between elements and more noticeable selection boxes used for focus elements.

Siehe auchSee also