Don't create wxWindowAccessible by default

Don't unconditionally use wxWidgets' implementation of IAccessible for
all windows when wxUSE_ACCESSIBILITY is 1, because it is inferior to the
system provided one: it often lacks appropriate labels, doesn't fully
support navigation and wxIAccessible isn't fully implemented.

The approach, when using MSAA, recommended by Microsoft documentation is
to customize accessibility for custom controls only, by proxying to the
standard and overriding what is necessary. By making this change, user
code is still allowed to customize accessibility if needed, without
negatively impacting standard controls that don't need any custom code.

See also https://github.com/wxWidgets/wxWidgets/pull/340
This commit is contained in:
Václav Slavík
2016-11-20 17:35:32 +01:00
committed by GitHub
parent 9c1689b850
commit 7dab555f71
3 changed files with 7 additions and 8 deletions

View File

@@ -3186,12 +3186,6 @@ wxAccessible* wxWindowBase::GetOrCreateAccessible()
return m_accessible;
}
// Override to create a specific accessible object.
wxAccessible* wxWindowBase::CreateAccessible()
{
return new wxWindowAccessible((wxWindow*) this);
}
#endif
// ----------------------------------------------------------------------------