Skip to content

[Bug]: Accessibility properties SizeOfSet and PositionOfSet are not being set when using <ReactiveWindow> #3637

Open
@hicks86

Description

@hicks86

Describe the bug 🐞

As a part of our development process we run Microsoft's Accessibility Insights FastPass tool to ensure that UI changes are meeting this accessibility standard.

There is one issue that we cannot seem to resolve, and it seems to be linked to someting weird going on behind the scenes of ReactiveUI (from what I can tell).
When binding a list to a ComboBox using ReactiveUI there seems to be an issue that is being flagged by the tool around the values of the AutomationProperties.SizeOfSet and AutomationProperties.PositionOfSet. As of .NET48 these values should be automatically filled in in a WPF application. These values are used by a screenreader to inform the user where they are on a particular page (e.g. position 4 of 10).
Anyways when binding a list to a ComboBox using a regular WPF code behind binding (and just using instead of ) this is no longer an issue on the accessibility tool.

Step to reproduce

  1. Go to the reproduction and start the application
  2. Using Microsoft's Accessibility Insights FastPass tool run a test on the combobox.
  3. You will see the accessibility issue ** "The elements ControlType requires valid values for SizeOfSet and PositionOfSet"**
  4. Then swap to use a classic WPF code-behind approach to binding list to a combobox (Swap <ReactiveWindow> for <Window>, uncomment the WpfCombobox.ItemSource = ... code and comment out the ReactuveUI setup).
  5. Run the FastPass tool again.
  6. You will see there are no accessibility issues.

Reproduction repository

https://github.com/hicks86/ReactiveUIAccessibilityRepro

Expected behavior

When you run the accessibility tool there should be no accessibility issue present for the SizeOfSet and PositionOfSet AutomationProperties.

Screenshots 🖼️

No response

IDE

Visual Studio 2022

Operating system

Windows 10

Version

No response

Device

No response

ReactiveUI Version

19.4.1

Additional information ℹ️

Happy to provide any other information needed. It would be good to get to the bottom of this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions