Neuerungen der Barrierefreiheit in .NET Framework
Mit dem .NET Framework entwickelte Anwendungen bieten mehr Barrierefreiheit für Benutzer. Durch Barrierefreiheitsfunktionen wird es einer Anwendung ermöglicht, den Benutzern von Hilfstechnologien ein angemessenes Erlebnis zu bieten. Ab .NET Framework 4.7.1 enthält das .NET Framework zahlreiche Verbesserungen hinsichtlich der Barrierefreiheit, die es Entwicklern ermöglichen, barrierefreie Anwendungen zu erstellen.
Barrierefreiheitsparameter
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. 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. Jede .NET Framework-Version, die Barrierefreiheitsfeatures umfasst, verfügt über einen versionsspezifischen Barrierefreiheitsparameter, den Sie dem <AppContextSwitchOverrides>
-Element im Abschnitt <runtime>
der Anwendungskonfigurationsdatei hinzufügen. Die folgenden Parameter werden unterstützt:
Version | Schalter |
---|---|
.NET Framework 4.7.1 | „Switch.UseLegacyAccessibilityFeatures“ |
.NET Framework 4.7.2 | „Switch.UseLegacyAccessibilityFeatures.2“ |
.NET Framework 4.8 | "Switch.UseLegacyAccessibilityFeatures.3" |
11. August 2020: Kumulatives Update KB4569746 für .NET Framework 4.8 | "Switch.UseLegacyAccessibilityFeatures.4" |
.NET Framework 4.8.1 | "Switch.UseLegacyAccessibilityFeatures.5" |
Profitieren von Barrierefreiheitserweiterungen
Die neuen Barrierefreiheitsfunktionen werden standardmäßig für Anwendungen aktiviert, die .NET Framework 4.7.1 oder höher anzielen. 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. Der folgende Codeausschnitt veranschaulicht, wie Sie die in .NET Framework 4.7.1 eingeführten Barrierefreiheitsverbesserungen aktivieren:
<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 des .NET Framework aktivieren, müssen Sie ebenfalls die Features früherer Versionen aktivieren. Um Ihre App zu konfigurieren, um Barrierefreiheitsverbesserungen sowohl .NET Framework 4.7.1 als auch 4.7.2 zu nutzen, fügen Sie das folgende <AppContextSwitchOverrides>
Element hinzu:
<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 müssen das folgende <AppContextSwitchOverrides>
-Element hinzufügen, um Ihre App so zu konfigurieren, dass Sie die Verbesserungen hinsichtlich der Barrierefreiheit in NET Framework 4.7.1, 4.7.2, 4.8 und das kumulative Update von August 2020 für .NET Framework 4.8 nutzen können:
<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;Switch.UseLegacyAccessibilityFeatures.4=false"/>
</runtime>
Wiederherstellen von Legacyverhalten
Für Anwendungen, die mindestens auf .NET Framework 4.7.1 ausgelegt sind, können die Barrierefreiheitsfeatures deaktiviert werden, indem folgende Optionen mit dem Wert zum <AppContextSwitchOverrides>
-Element im true
<runtime>
-Abschnitt der Anwendungskonfigurationsdatei hinzugefügt werden. Beispielsweise deaktiviert die folgende Konfiguration die Barrierefreiheitsfeatures, die in .NET Framework 4.7.2 eingeführt wurden:
<runtime>
<!-- AppContextSwitchOverrides value attribute is in the form of key1=true|false;key2=true|false -->
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures.2=true" />
</runtime>
Neuerungen in der Barrierefreiheit in .NET Framework 4.8.1
.NET Framework 4.8.1 enthält neue Barrierefreiheitsfeatures in den folgenden Bereichen:
Windows Forms
Hinzugefügte und verbesserte UIA-Darstellungen
Vor .NET Framework 4.8.1 fehlte Windows Forms unterstützung für eine Reihe von UIA-Mustern, um Hilfstechnologien für die Interaktion mit Anwendungen zu unterstützen. Dieser Mangel könnte dazu führen, dass Die Sprachausgabe oder andere Sprachausgabe unvollständige oder falsche Informationen melden kann. Es könnte sich auch auf wichtige Funktionen auswirken, z. B. das Verschieben eines Cursors durch den Text in einem TextBox Steuerelement. Mit .NET Framework 4.8.1 wurden alle erforderlichen Muster für die gemeinsamen Steuerelemente implementiert. Diese neue Funktionalität bietet Benutzern von Hilfstechnologie eine viel umfassendere Anwendungsinteraktionserfahrung.
- Unterstützung für das UIA-Erweiterungs-/Reduzierenmuster wurde dem DateTimePicker Steuerelement hinzugefügt.
- Die UIA-Unterstützung wurde dem MonthCalendar Steuerelement hinzugefügt. Jetzt können Hilfstechnologietools wie die Sprachausgabe durch die einzelnen Datumsangaben im Steuerelement navigieren.
- Implementierte Textmusterunterstützung für alle textbasierten Steuerelemente, einschließlich des TextBox, PropertyGridMaskedTextBoxbearbeitungssteuerelements, DataGridViewTextBoxCellToolStripTextBoxund DomainUpDown steuerelements.
- ToolTipfolgt nun WCAG2.1-Richtlinien, die dauerhaft, geschlossen und auf Windows 11 zeigen können. Änderungen des QuickInfo-Verhaltens sind auf Windows 11 Systeme beschränkt, die .NET Framework 4.8.1 installiert sind, und gelten nur für Anwendungen, bei denen ein Timeout nicht für die QuickInfo festgelegt wurde. QuickInfos, die beibehalten werden, können entweder mit der Esc-TASTE oder der STRG-TASTE oder durch Navigieren zu einem Steuerelement mit einem anderen Toolinfosatz geschlossen werden.
Verschiedene Fehlerkorrekturen für vorhandene Barrierefreiheitsfeatures
- Die Sprachausgabe kann sich jetzt auf ein leeres DataGridView Steuerelement konzentrieren.
- Es wurde ein Problem behoben, das dazu führte, dass Bildschirmsprachausgaben ausgeblendete Spalten beim Ansagen der Spaltenanzahl in einem DataGridView Steuerelement zählen.
- Es wurde ein Problem behoben, das dazu führte, dass die Schriftarteinstellungen ignoriert wurden, die DataGridView im
DataGridviewCellStyle
zugrunde liegenden Formular eineFont
Eigenschaft hatten, die sich von dem unterscheidetDefaultFont
. - Aktualisiert die
AccessibleName
Eigenschaft der internen Bildlaufleisten des DataGridView Steuerelements, um den Text "ScrollBar" zu entfernen. - Die Farbe einer
DataGridViewLinkCell
Zelle wurde behoben, wenn die Zelle ausgewählt ist. - Ein Problem mit benutzerdefinierten Steuerelementen wurde behoben, bei denen für benutzerdefinierte DataGridViewDataGridViewCell Elemente keine
ControlType
LocalizedControlType
oder bereitgestellt wurde. - Aktualisiert das Luminosity-Verhältnis auf 3,5:1 für ToolStripButton Steuerelemente, die festgelegt
System
sindToolStripRenderMode
. - Verbesserte Tastaturnavigation in einem ToolStrip Element, wenn es sich um einen
ToolStripComboBox
Typ handelt. - Aktualisiert die Hintergrundfarbe des ToolStripButton in hohem Kontrastmodus angezeigten Hintergrundfarbe.
- Sichergestellt, dass ein begrenzungsendes Rechteck gemeldet wird, um die Hilfstechnologie für die ToolStripSeparator.
- Ein Problem wurde behoben, das dazu führen konnte, dass die Bildschirmsprachausgabe JAWS beim Lesen des PropertyGrid Steuerelements abstürzt.
- Sichergestellt, dass die UIA-Hierarchiestruktur für ein PropertyGrid Steuerelement aktualisiert wird, wenn ein komplexer Eintrag
Font
erweitert wird. Stellen Sie außerdem sicher, dass die Struktur ordnungsgemäß aktualisiert wird, wenn der Eintrag dann reduziert und nicht mehr sichtbar ist. - PropertyGridKategorien verfügen jetzt über einen lokalisierten Steuerelementtyp.
PropertyGrid category
- Es wurde ein Problem mit dem ComboBox problem behoben, das dazu führen konnte, dass die App unter Barrierefreiheits insights für Windows abstürzt.
- Aktualisiert die Rahmenfarbe für den mehr Kontrast in den Button Standardfarben.
- Aktivierte Hilfstechnologietools, um auf die
ControlBox
Schaltflächen eines maximierten MDI-untergeordneten Formulars zuzugreifen. - Die
AccessibleName
Eigenschaft eines DomainUpDown Steuerelements verfügt über einen neuen Standardwert einer leeren Zeichenfolge. Die leere Zeichenfolge fordert Entwickler auf, einen aussagekräftigen Namen zu erstellen, anstatt den vorherigen nicht leeren Standardwert zu akzeptieren. - Aktualisiert die
AccessibleName
Eigenschaft der Schaltfläche "Drucken" im Bereich "Druckschaltfläche" auf PrintPreviewDialog "Drucken", um Redundanz zu vermeiden, wenn Bildschirmsprachausgaben das Steuerelement und dessen Typ ankündigen. - Aktualisierte UIA-Listensteuerelemente, um ein leeres Listenelement zu entfernen, wenn eine PropertyGrid Zelle geschlossen
ComboBox
wird und nicht mehr sichtbar ist.
Windows Presentation Foundation (WPF)
Verbesserungen bei der Bearbeitung von Barrierefreien QuickInfos
In dieser Version verbessert WPF die Benutzeroberfläche, indem sichergestellt wird, dass eine QuickInfo im aktuellen Fenster einfach mit der Esc-Taste, der STRG-TASTE (selbst) oder durch die Kombination STRG+UMSCHALT+F10 geschlossen werden kann. Der Umfang des Esc-Schlüssels wurde in dieser Version reduziert, um nur auf das aktuelle Fenster anzuwenden, wenn es zuvor auf alle geöffneten Toolinfos in der Anwendung angewendet wurde. Standardmäßig folgen WPF-Toolinfos den WCAG2.1-Richtlinien , die beständig, geschlossen und hoverbar sind.
Neuerungen bei den Barrierefreiheitsfeatures im kumulativen Update für .NET Framework 4.8 vom 11. August 2020
Das kumulative Update KB4569746 für .NET Framework 4.8 vom 11. August 2020 führt neue Barrierefreiheitsfeatures für Windows Forms ein:
Ein Problem mit der Sprachausgabe von
PropertyGrid
-Steuerelementen und dem Status von Kategorien (aufgeklappt/zugeklappt) wurde behoben.Die Barrierefreiheitsmuster des Steuerelements
PropertyGrid
und dessen inneren Elementen wurden aktualisiert.Die barrierefreien Namen der inneren Elemente des Steuerelements
PropertyGrid
wurden aktualisiert und werden nun korrekt von der Sprachausgabe wiedergegeben.Ein Problem mit Begrenzungsrahmen für barrierefreie Eigenschaften des Steuerelements
PropertyGridView
wurde behoben.Die Sprachausgabe gibt den Status der Zellen des Kombinationsfelds
DataGridView
(aufgeklappt/zugeklappt) jetzt korrekt wieder.
Neuerungen der Barrierefreiheit in .NET Framework 4.8
.NET Framework 4.8 enthält neue Barrierefreiheitsfunktionen für die folgenden Bereiche:
Windows Forms
In .NET Framework 4.8 bieten Windows Forms jetzt Unterstützung für LiveRegions und Benachrichtigungsereignisse für viele häufig verwendete Steuerelemente. Es bietet auch Unterstützung für QuickInfos, wenn ein Benutzer mit der Tastatur zu einem Steuerelement navigiert.
Unterstützung für UIA-LiveRegions in den Bezeichnungen und 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. Dies ist z.B. für ein StatusStrip-Steuerelement nützlich, das einen Verbindungsstatus anzeigt. Wenn die Verbindung unterbrochen wird und sich der Status ändert, kann der Entwickler die Sprachausgabe benachrichtigen.
Ab .NET Framework 4.8 implementiert Windows Forms UIA-LiveRegions für sowohl Label- als auch StatusStrip-Steuerelemente. Der folgende Code verwendet die LiveRegion beispielsweise in einem Label-Steuerelement mit dem Namen 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.
Sie können Ihr UserControl ebenfalls als LiveRegion implementieren:
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-Benachrichtigungsereignisse
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. In einigen Szenarien ist dies eine einfache Möglichkeit, um die Barrierefreiheit Ihrer App erheblich zu verbessern. Auch kann damit über den Fortschritt eines Prozesses zu informiert werden, der viel Zeit in Anspruch nehmen kann. 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?).
Im folgenden Beispiel wird ein Benachrichtigungsereignis ausgelöst:
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 Tastaturzugriff
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. Ab .NET Framework 4.8 kann ein Tastaturbenutzer die QuickInfo eines Steuerelements aufrufen, indem das Steuerelement mit einer Tabulatortaste oder Pfeiltasten mit oder ohne Zusatztasten fokussiert wird. Für diese Verbesserungen der Barrierefreiheit ist ein zusätzlicher AppContext-Schalter erforderlich:
<?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.
Windows Presentation Foundation (WPF)
Ab .NET Framework 4.8 enthält WPF eine Reihe von Verbesserungen der Barrierefreiheit.
Die Sprachausgabe kündigt keine Elemente mit der Sichtbarkeit „Collapsed“ oder „Hidden“ mehr an
Elemente mit der Sichtbarkeit „Collapsed“ oder „Hidden“ werden von der Sprachausgabe nicht mehr angekündigt. 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. 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.
SelectionTextBrush-Eigenschaft für die Verwendung mit einer nicht Adorner-basierten Textauswahl
In .NET Framework 4.7.2 wurde in WPF die Option hinzugefügt, eine TextBox- und PasswordBox-Textauswahl zu zeichnen, ohne die Adorner-Ebene zu verwenden. Die Vordergrundfarbe des markierten Texts in diesem Szenario wurde von SystemColors.HighlightTextBrush vorgegeben.
.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. 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. Sie funktioniert nicht für das RichTextBox-Steuerelement. Wenn die nicht auf Adorner basierende Textauswahl nicht aktiviert ist, wird diese Eigenschaft ignoriert.
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. Die sich daraus ergebende Textauswahl sieht folgendermaßen aus:
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.
Unterstützung für die UIAutomation ControllerFor-Eigenschaft
Die ControllerFor
-Eigenschaft von UIAutomation gibt ein Array von Automatisierungselementen zurück, die von dem Automatisierungselement geändert werden, das diese Eigenschaft unterstützt. Diese Eigenschaft wird häufig bei der Vorschlagsuche verwendet. ControllerFor
wird verwendet, wenn ein Automatisierungselement ein oder mehrere Segmente der Benutzeroberfläche der Anwendung oder des Desktops beeinflusst. Andernfalls ist es schwierig, die Auswirkungen des Steuerelementvorgangs den Elementen der Benutzeroberfläche zuzuordnen. Dieses Feature fügt die Möglichkeit hinzu, dass Steuerelemente einen Wert für die ControllerFor
-Eigenschaft bereitstellen.
.NET Framework 4.8 fügt eine neue virtuelle Methode hinzu: 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:
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 Tastaturzugriff
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.8 werden QuickInfos auch beim Fokussieren mit der Tastatur sowie über eine Tastenkombination angezeigt.
Um dieses Feature zu aktivieren, muss eine Anwendung auf .NET Framework 4.8 oder opt-in mit den Switch.UseLegacyAccessibilityFeatures.3
Switch.UseLegacyToolTipDisplay
Und AppContext-Schaltern abzielen. Nachfolgend finden Sie die Konfigurationsdatei für eine Beispielanwendung:
<?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. Die QuickInfo kann im Laufe der Zeit oder bei einer Änderung des Tastaturfokus deaktiviert werden. Benutzer können die QuickInfo auch manuell schließen, indem Sie eine neue Tastenkombination verwenden, STRG+UMSCHALT+F10. Sobald die QuickInfo geschlossen wurde, kann sie erneut mit derselben Tastenkombination angezeigt werden.
Hinweis
Menüband-QuickInfos auf Ribbon-Steuerelementen werden nicht beim Tastaturfokus angezeigt, sondern nur über die Tastenkombination.
Unterstützung für SizeOfSet- und PositionInSet-UIAutomation-Eigenschaften hinzugefügt
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. 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.
Ab .NET Framework 4.8 stellt WPF diese beiden Eigenschaften in WPF-Anwendungen zur Verfügung. Dafür stehen zwei Methoden zur Verfügung:
Verwenden von Abhängigkeitseigenschaften
WPF fügt zwei neue Abhängigkeitseigenschaften, AutomationProperties.SizeOfSet und AutomationProperties.PositionInSet, hinzu. Ein Entwickler kann diese Werte mit XAML festlegen:
<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-Methoden
GetPositionInSetCore() Die GetSizeOfSetCore() und virtuellen Methoden wurden der
AutomationPeer
Klasse hinzugefügt. Ein Entwickler kann diese Werte fürSizeOfSet
undPositionInSet
durch Überschreiben dieser Methode bereitstellen, wie im folgenden Beispiel gezeigt: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. 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. Automatische Werte werden durch Virtualisierung nicht beeinflusst. 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.
Automatische Werte werden nur bereitgestellt, wenn die Anwendung auf .NET Framework 4.8 abzielt. Für Anwendungen, die auf eine frühere Version der .NET Framework abzielen, können Sie den Switch.UseLegacyAccessibilityFeatures.3
AppContext-Switch festlegen, wie in der folgenden App.config-Datei dargestellt:
<?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)
Der Workflow-Designer umfasst in .NET Framework 4.8 folgende Änderungen:
Benutzer, die die Sprachausgabe verwenden, werden Verbesserungen bei FlowSwitch-case-Bezeichnungen feststellen.
Benutzer, die die Sprachausgabe verwenden, werden Verbesserungen bei Schaltflächenbeschreibungen feststellen.
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.
Wenn Ihre Anwendung auf .NET Framework 4.7.2 oder eine frühere Version ausgerichtet ist, können Sie diese Änderungen aktivieren, indem Sie die Switch.UseLegacyAccessibilityFeatures.3
AppContext-Optionfalse
in Ihrer Anwendungskonfigurationsdatei festlegen. Weitere Informationen finden Sie im Abschnitt Profitieren von Barrierefreiheitsverbesserungen in diesem Artikel.
Neuerungen der Barrierefreiheit in .NET Framework 4.7.2
.NET Framework 4.7.2 enthält neue Barrierefreiheitsfunktionen für die folgenden Bereiche:
Windows Forms
Vom Betriebssystem definierte Farben in Designs mit hohem Kontrast
Ab .NET Framework 4.7.2 verwendet Windows Forms vom Betriebssystem definierte Farben in Designs mit hohem Kontrast. Dies hat Auswirkungen auf die folgenden Steuerelemente:
Den Dropdownpfeil des ToolStripDropDownButton-Steuerelements
Die Steuerelemente Button, RadioButton und CheckBox, wenn FlatStyle auf FlatStyle.Flat oder FlatStyle.Popup festgelegt ist. Zuvor gab es keinen Kontrast zwischen ausgewähltem Text und Hintergrundfarbe, wodurch der Text schwer lesbar war.
Steuerelemente, die in einem GroupBox-Objekt enthalten sind, dessen Enabled-Eigenschaft auf
false
festgelegt istDie ToolStripButton-, ToolStripComboBox- und ToolStripDropDownButton-Steuerelemente weisen ein höheres Helligkeitskontrastverhältnis im Modus „Hoher Kontrast“ auf.
Die LinkColor-Eigenschaft von DataGridViewLinkCell.
Verbesserungen der Sprachausgabe
Ab .NET Framework 4.7.2 treten die folgenden Verbesserungen der Unterstützung der Sprachausgabe in Kraft:
Sie kündigt jetzt den Wert der ToolStripMenuItem.ShortcutKeys-Eigenschaft an, wenn sie den Text eines ToolStripMenuItem ankündigt.
Sie gibt jetzt an, wenn die Enabled-Eigenschaft von ToolStripMenuItem auf
false
festgelegt ist.Sie stellt jetzt Feedback zum Zustand eines Kontrollkästchens bereit, wenn die ListView.CheckBoxes-Eigenschaft auf
true
festgelegt ist.Die Fokusreihenfolge des Scanmodus der Sprachausgabe ist mit der visuellen Reihenfolge der Steuerelemente für das ClickOnce-Downloaddialogfenster konsistent.
DataGridView-Verbesserungen
Ab .NET Framework 4.7.2 wurden mit dem DataGridView-Steuerelement die folgenden Barrierefreiheitsverbesserungen eingeführt:
Zeilen können jetzt mithilfe der Tastatur sortiert werden. Ein Benutzer kann die F3-Taste verwenden, um nach der aktuellen Spalte zu sortieren.
Die Spaltenbreite der aktuellen Zelle kann mit den Pfeiltasten alt + links/rechts erhöht oder verringert werden.
Wenn DataGridView.SelectionMode auf DataGridViewSelectionMode.FullRowSelect festgelegt ist, ändert sich die Farbe der Spaltenüberschrift, um die aktuelle Spalte anzugeben, wenn der Benutzer mit der TABULATORTASTE die Zellen in der aktuellen Zeile durchläuft.
Die AccessibleObject.Parent Eigenschaft eines System.Windows.Forms.DataGridViewLinkCell.DataGridViewLinkCellAccessibleObject Objekts gibt das richtige übergeordnete Steuerelement zurück.
Verbesserte visuelle Hinweise
- Die RadioButton Steuerelemente CheckBox mit einer leeren Text Eigenschaft zeigen einen Fokusindikator an, wenn sie den Fokus erhalten.
Verbesserte Unterstützung für das Eigenschaftenraster
Die PropertyGrid untergeordneten Elemente des IsReadOnlyProperty Steuerelements geben jetzt nur dann eine
true
Eigenschaft zurück, wenn ein PropertyGrid-Element aktiviert ist.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.
Verbesserte Tastaturnavigation
- Das ToolStripButton-Steuerelement lässt den Fokus zu, wenn das Element in einem ToolStripPanel-Element enthalten ist, für das die TabStop-Eigenschaft auf
true
festgelegt ist.
Windows Presentation Foundation (WPF)
Änderungen an den Steuerelementen CheckBox und RadioButton
In .NET Framework 4.7.1 und früheren Versionen weisen die WPF-Steuerelemente System.Windows.Controls.CheckBox und System.Windows.Controls.RadioButton inkonsistente und im klassischen Design sowie im Design mit hohem Kontrast falsche visuelle Fokuselemente auf. Diese Probleme treten in Fällen auf, in denen für die Steuerelemente keine Inhalte festgelegt sind. Dadurch kann der Übergang zwischen Designs verwirrend wirken und das visuelle Fokuselement schwer zu erkennen sein.
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.
WinForms-Steuerelemente, die in einer WPF-Anwendungen gehostet werden
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. In .NET Framework 4.7.2 können Benutzer jetzt die WinForms-Ebene über die TAB-TASTE verlassen.
Es kann jedoch sein, dass automatisierte Anwendungen, für die der Fokus dauerhaft auf der WinForms-Ebene liegen muss, nicht mehr einwandfrei funktionieren.
Neuerungen der Barrierefreiheit in .NET Framework 4.7.1
.NET Framework 4.7.1 enthält neue Barrierefreiheitsfunktionen für die folgenden Bereiche:
Windows Presentation Foundation (WPF)
Verbesserungen der Sprachausgabe
Wenn die Verbesserungen der Barrierefreiheit aktiviert sind, enthält .NET Framework 4.7.1 folgende Verbesserungen, die sich auf die Sprachausgabe auswirken:
In .NET Framework 4.7 und früher wurden Expander-Steuerelemente von der Sprachausgabe als Schaltflächen ausgegeben. Ab .NET Framework 4.7.1 werden diese ordnungsgemäß als erweiterbare bzw. reduzierbare Gruppen ausgegeben.
In .NET Framework 4.7 und früher wurden DataGridCell-Steuerelemente von der Sprachausgabe als „benutzerdefiniert“ ausgegeben. Ab .NET Framework 4.7.1 werden diese ordnungsgemäß als (lokalisierte) Datenrasterzellen ausgegeben.
Ab .NET Framework 4.7.1 gibt die Sprachausgabe den Namen einer bearbeitbaren ComboBox-Klasse aus.
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. Dieses Problem wurde in .NET Framework 4.7.1 behoben.
Unterstützung von dynamischen Bereichen für die UIAutomation
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. 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. Durch dynamische Bereiche soll dieses Problem behoben werden. 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. Die Sprachausgabe kann dann entscheiden, wie und wann der Benutzer über diese Änderung informiert wird.
Folgende APIs wurden zu WPF hinzugefügt, um dynamische Bereiche zu unterstützen:
Die AutomationElementIdentifiers.LiveSettingProperty- und AutomationElementIdentifiers.LiveRegionChangedEvent-Felder, die die LiveSetting-Eigenschaft und das LiveRegionChanged-Ereignis identifizieren. Diese können mithilfe von XAML festgelegt werden.
Die angefügte Eigenschaft AutomationProperties.LiveSetting, die der Sprachausgabe die Wichtigkeit der Änderung der Benutzeroberfläche für den Benutzer mitteilt.
Die AutomationProperties.LiveSettingProperty-Eigenschaft, die die angefügte Eigenschaft AutomationProperties.LiveSetting identifiziert.
Die AutomationPeer.GetLiveSettingCore-Methode, die überschrieben werden kann, um einen LiveSetting-Wert bereitzustellen.
Die AutomationProperties.GetLiveSetting- und AutomationProperties.SetLiveSetting-Methoden, die einen LiveSetting-Wert abrufen und festlegen.
Die System.Windows.Automation.AutomationLiveSetting-Enumeration, die die folgenden möglichen LiveSetting-Werte definiert:
AutomationLiveSetting.Off. Das Element sendet keine Benachrichtigungen, wenn der Inhalt des dynamischen Bereichs geändert wurde.
AutomationLiveSetting.Polite. Das Element sendet nicht unterbrechende Benachrichtigungen, wenn der Inhalt des dynamischen Bereichs geändert wurde.
AutomationLiveSetting.Assertive. Das Element sendet unterbrechende Benachrichtigungen, wenn der Inhalt des dynamischen Bereichs geändert wurde.
Sie können einen dynamischen Bereich erstellen, indem Sie die Eigenschaft AutomationProperties.LiveSetting wie im folgenden Beispiel dargestellt auf das relevante Element festlegen:
<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.
var peer = FrameworkElementAutomationPeer.FromElement(myTextBlock);
peer.RaiseAutomationEvent(AutomationEvents.LiveRegionChanged);
Dim peer = FrameworkElementAutomationPeer.FromElement(myTextBlock)
peer.RaiseAutomationEvent(AutomationEvents.LiveRegionChanged)
Hoher Kontrast
Ab .NET Framework 4.7.1 wurden Verbesserungen am Design „Hoher Kontrast“ für verschiedene WPF-Steuerelemente vorgenommen. Diese sind nun sichtbar, wenn das HighContrast-Design festgelegt ist. Dazu gehören:
Expander-Steuerelement
Das Fokusvisual für das Expander Steuerelement ist jetzt sichtbar. Das visuelle Tastaturelement für die ComboBox-, ListBox- und RadioButton-Steuerelemente wird ebenfalls angezeigt. Zum Beispiel:
Vorher:
Nachher:
CheckBox- und RadioButton-Steuerelemente
Der Text in den CheckBox- und RadioButton-Steuerelementen ist nun leichter zu erkennen, wenn das Design mit hohem Kontrast ausgewählt ist. Zum Beispiel:
Vorher:
Nachher:
ComboBox-Steuerelement
Ab .NET Framework 4.7.1 hat der Rahmen eines deaktivierten ComboBox-Steuerelements die gleiche Farbe wie der deaktivierte Text. Zum Beispiel:
Vorher:
Nachher:
Darüber hinaus verwenden deaktivierte Schaltflächen und Schaltflächen mit Fokus das richtige Farbdesign.
Vorher:
Nachher:
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. Dieses Problem wurde in .NET Framework 4.7.1 behoben. Zum Beispiel:Vorher:
Nachher:
DataGrid-Steuerelement
Ab .NET Framework 4.7.1 verwendet der Pfeil für die Sortieranzeige in den DataGrid-Steuerelementen das richtige Farbdesign. Zum Beispiel:
Vorher:
Nachher:
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. Dieses Problem wurde in .NET Framework 4.7.1 behoben. DataGrid Ebenso verwenden Kontrollkästchenspalten die erwarteten Farben für das Tastaturfokusfeedback ab .NET Framework 4.7.1.
Vorher:
Nachher:
Weitere Informationen zu Verbesserungen der WPF-Barrierefreiheit in .NET Framework 4.7.1 finden Sie unter Verbesserung der Barrierefreiheit in WPF.
Verbesserung der Barrierefreiheit von Windows Forms
In .NET Framework 4.7.1 enthält Windows Forms (WinForms) Verbesserungen der Barrierefreiheit für folgende Bereiche:
Verbesserte Anzeige im Modus mit hohem Kontrast
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. 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. Führen Sie für die beste Benutzeroberfläche die neueste Version von Windows aus, und melden Sie sich bei den neuesten Betriebssystemänderungen an, indem Sie eine App.manifest-Datei in einer Testanwendung hinzufügen und die Windows 10 unterstützte Betriebssystemzeile aufheben, damit es wie folgt aussieht:
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
Folgende Änderungen wurden am Design mit hohem Kontrast vorgenommen:
Die Kontrollkästchen der MenuStrip-Elemente können einfacher angezeigt werden.
Wenn diese aktiviert werden, können deaktivierte MenuStrip-Elemente einfacher angezeigt werden.
Der Text in einem ausgewählten Button-Kontrollkästchen bildet einen Kontrast zur Auswahlfarbe.
Deaktivierter Text ist einfacher zu lesen. Zum Beispiel:
Vorher:
Nachher:
Verbesserungen am Design mit hohem Kontrast im Dialogfeld der Threadausnahme.
Verbesserte Unterstützung für die Sprachausgabe
Windows Forms in .NET Framework 4.7.1 enthält folgende Verbesserungen für die Barrierefreiheit der Sprachausgabe:
Auf das MonthCalendar-Steuerelement kann über die Sprachausgabe sowie über andere Tools zur Automatisierung der Benutzeroberfläche zugegriffen werden.
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.
Das DataGridViewCell-Steuerelement teilt der Sprachausgabe den richtigen schreibgeschützten Status mit.
Die Sprachausgabe kann nun deaktivierten ToolStripMenuItem-Text ausgeben, während deaktivierte Menüelemente zuvor übersprungen wurden.
Verbesserte Unterstützung für die Barrierefreiheitsmuster der UIAutomation
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. Folgende Verbesserungen der Barrierefreiheit wurden vorgenommen:
Die ComboBox- und ToolStripSplitButton-Steuerelemente unterstützen nun das Muster für das Erweitern/Reduzieren.
Das DataGridViewCheckBoxCell-Steuerelement unterstützt nun das Umschaltmuster.
Das ToolStripItem-Steuerelement unterstützt die Name-Eigenschaft und das Muster für das Erweitern/Reduzieren.
Die NumericUpDown- und DomainUpDown-Steuerelemente unterstützen die Name-Eigenschaft.
Verbesserter Eigenschaftenbrowser
Ab .NET Framework 4.7.1 enthält Windows Forms Folgendes:
- Eine verbesserte Tastaturnavigation durch die verschiedenen Fenster der Dropdownauswahl
- Eine Verringerung unnötiger Tabstopps
- Eine verbesserte Berichterstellung der Steuerelementtypen
- Ein verbessertes Verhalten der Sprachausgabe
ASP.NET-Websteuerelemente
Ab .NET Framework 4.7.1 und Visual Studio 2017 Version 15.3 arbeiten ASP.NET-Websteuerelemente effizienter mit den Funktionen für die Barrierefreiheit in Visual Studio zusammen. Dazu gehören folgende Änderungen:
Ä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.
Änderungen zur Verbesserung der Anzeige im Modus für hohe Kontraste, z.B. beim DataPager-Feld-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.
.NET SDK-Tools
Das Configuration Editor-Tool (SvcConfigEditor.exe) und das Service Trace Viewer-Tool (SvcTraceViewer.exe) wurden verbessert, indem verschiedene Barrierefreiheitsprobleme verbessert wurden. 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. 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.
Durch diese Verbesserungen ändert sich vorheriges Verhalten wie die Reihenfolge des Tastaturfokus.
Workflow-Designer von Windows Workflow Foundation (WF)
Die Barrierefreiheitsänderungen im Workflow-Designer umfassen Folgendes:
Die Aktivierreihenfolge wurde bei manchen Steuerelementen in „Von links nach rechts“ und in „Von oben nach unten“ geändert:
Das Fenster „Korrelation initialisieren“ für das Festlegen von Korrelationsdaten für die InitializeCorrelation-Aktivität
Das Fenster „Inhaltsdefinition“ für die Aktivitäten Receive, Send, SendReply und ReceiveReply
Weitere Funktionen sind über die Tastatur verfügbar:
Beim Bearbeiten der Eigenschaften einer Aktivität können die Eigenschaftengruppen über die Tastatur reduziert werden, wenn diese zum ersten Mal fokussiert werden.
Auf Warnsymbole kann über die Tastatur zugegriffen werden.
Auf die Schaltfläche Weitere Eigenschaften im Fenster Eigenschaften kann über die Tastatur zugegriffen werden.
Tastaturbenutzer können auf die Headerelemente in den Bereichen Argumente und Variablen des Workflow-Designers zugreifen.
Verbesserte Sichtbarkeit von Elementen mit Fokus, z.B. in folgenden Fällen:
Hinzufügen von Zeilen zu Datenrastern, die vom Workflow-Designer und von Aktivitäts-Designern verwendet werden
Wechseln von Feldern mit der TAB-TASTE in den Aktivitäten ReceiveReply und SendReply
Festlegen von Standardwerten für Variablen oder Argumente
Sprachausgaben können Folgendes nun richtig erkennen:
Breakpoints, die im Workflow-Designer festgelegt wurden
Die Aktivitäten FlowSwitch<T>, FlowDecision und CorrelationScope
Die Inhalte der Receive-Aktivität
Den Zieltyp für die InvokeMethod-Aktivität
Das Kombinationsfeld „Ausnahme“ und den Abschnitt „Finally“ in der TryCatch-Aktivität
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)
Übertragungen von Zustandsautomaten und Übertragungsziele
Anmerkungen und Connectors von FlowDecision-Aktivitäten
Die per Rechtsklick aufrufbaren Kontextmenüs von Aktivitäten
Die Editors für Eigenschaftswerte, die Schaltfläche, „Suche löschen“, die Sortierschaltflächen „Nach Kategorie“ und „Alphabetisch“ sowie das Dialogfeld „Ausdrucks-Editor“ im Eigenschaftenraster
Den Zoomprozentwert im Workflow-Designer
Die InvokeDelegate-Aktivität
Das Fenster „Typen auswählen“ für Wörterbuchaktivitäten (
Microsoft.Activities.AddToDictionary<TKey,TValue>
,Microsoft.Activities.RemoveFromDictionary<TKey,TValue>
usw.)Das Fenster „.NET-Typ suchen und auswählen“
Breadcrumbs im 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.