New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[accessibility] Dialogs and screen reader #2463

Closed
ghost opened this Issue Apr 7, 2016 · 2 comments

Comments

Projects
None yet
1 participant
@ghost

ghost commented Apr 7, 2016

Dialog control seems not accessible. I test with Jaws screen reader, my dialog is not read (message and title).

Does anyone have a workaround ?

Thanks.

@punker76

This comment has been minimized.

Member

punker76 commented Apr 7, 2016

@SylvainBzh I don't really know how JAWS works and how it interacts with WPF applications. I'll download it and look how it works, but I can not say if MahApps will works with it...

@ghost

This comment has been minimized.

ghost commented Apr 8, 2016

Thank you punker76,
I think the problem starts here : "Since the built-in WPF dialogs are unstyleable, we had to create our own implementation".

I don't know if it may help :
https://msdn.microsoft.com/en-us/windows/desktop/gg712258.aspx

Custom Controls
Most custom controls in WPF are actually derived from common controls. When implementing a custom control, you must override the "Core" methods from the base automation peer class that describe behavior unique and specific to your custom control. Before you can assign a control type to an element, the element needs to meet certain conditions, including a particular automation tree structure, property values, control patterns, and events; however, you are not limited to using only these sets of conditions. You can extend a control with additional patterns and properties.
In order to create a customized control with UIA support, there are five main steps to follow:
Expose the control to UIA by overriding OnCreateAutomationPeer
Provide correct property values by overriding Core methods
Enable the client to interact with the control using methods
Implement Pattern providers
Raise events

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment