Accessibility support for Win32 control based on RichEdit

I have implemented a custom Win32 control based on RichEdit. I am inserting custom OLE objects into rich text using the "InsertObject" method from IRichEditOle. Custom objects simply display text and some additional functionality. This control is similar to the Outlook control that allows the user to enter email addresses.

I have an accessibility support issue. I want to implement the same functionality as Outlook. I want these firmwares (for example Narrator or Thunder Storm) to read all text, including the content of inserted OLE objects.

I tried to implement the IAccessible interface that is returned in the WM_GETOBJECT message. I am returning some reasonable values ​​from 'get_accRole' and 'get_accName'. The available role is "editable text". I also return a string that represents all of the control content from the get_accValue method.

I tested my implementation using the Inspet.exe application from Windows bundles. I can see the role acc, the name value I provide in the IAccessible methods.

PROBLEM : Screen devices do not read all of the control's content. Screen readers read the only text entered into the control, but not the content of the inserted objects.

I suggest that Screenreaders not use the IAccessible interface to control RichEdit.

My question to the community , does anyone have any experience with accessibility support for a RichEdit control with embedded OLE objects. What should I provide for Screenreader?

+3


source to share