Semantics and some structure changes by PureWeen · Pull Request #635 · dotnet/maui (original) (raw)

Description of Change

This PR adds the Semantics structure to Maui.Core which lets you alter how views are semantically processed by things like screen readers. Because the semantics processing is required at the View level this PR grew into an involved restructuring of the the AbstractViewHandler classes. Currently we are stuffing everything into AbstractViewHandler which causes us to have three different properties for accessing a "NativeView". This PR sets up a generic inheritance structure and via method hiding just consolidates all of that to a single property for the Virtual View and a single property for the Native View. This also let me setup disconnect/connect hooks at the ViewHandler level.

This PR has a large set of changes to some fundamental structures so we will plan on filling out the testing more once we have more UI based tests. None of these changes can reliably be tested in an automated fashion we can really only test that some properties are set

Additions made

PR Checklist

Does this PR touch anything that might effect accessibility?

If any of the above checkboxes apply to your PR then the PR will need to provide testing to demonstrate that accessibility still works.