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

[All] Basic Accessibility Support #713

Merged
merged 9 commits into from Jan 31, 2017

Conversation

Projects
None yet
4 participants
@samhouts
Member

samhouts commented Jan 24, 2017

Description of Change

Adds several new attached properties that will enable native screen readers to discover and interact with Xamarin.Forms controls.

As described in XFE proposal: https://forums.xamarin.com/discussion/85909/basic-accessibility-support

Bugs Fixed

  • Provides an alternate fix for Bugzilla 41072/Bugzilla 42188 that will actually fire the Forms ItemSelected event when selected by Keyboard and Narrator. (#182/#241/#402)

API Changes

List all API changes here (or just put None), example:

Added:

  • string Accessibility.Hint { get; set; } //Attached Bindable Property
  • bool Accessibility.IsInAccessibleTree { get; set; } //Attached Bindable Property
  • VisualElement Accessibility.LableledBy { get; set; } //Attached Bindable Property
  • string Accessibility.Name { get; set; } //Attached Bindable Property

Behavioral Changes

[Win] The change made in 1836e18 might cause the ItemSelected event to fire more than once. Was unable to cause this behavior, but I see the potential for it.

PR Checklist

  • Has tests (if omitted, state reason in description)
  • Rebased on top of master at time of PR
  • Changes adhere to coding standard
  • Consolidate commits as makes sense
{
public class Accessibility
{
public static readonly BindableProperty HintProperty = BindableProperty.Create("Hint", typeof(string), typeof(Element), default(string));

This comment has been minimized.

@StephaneDelcroix

StephaneDelcroix Jan 24, 2017

Member

does it makes sense to only allow that on VisualElement? why do we need Element for ? Cells ?

@StephaneDelcroix

StephaneDelcroix Jan 24, 2017

Member

does it makes sense to only allow that on VisualElement? why do we need Element for ? Cells ?

@samhouts samhouts merged commit ae59382 into master Jan 31, 2017

6 checks passed

Android-UITests-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Cycle 8 :: UI Tests :: OSX Test Cloud Package - Run Android 6.0.1 : Tests passed: 352, i…
Details
OSX-Debug-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Cycle 8 :: OSX Debug : Running
Details
Windows-Debug-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Cycle 8 :: Windows Debug : Tests passed: 3719, ignored: 10
Details
iOS10-UITests-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Cycle 8 :: UI Tests :: OSX Test Cloud Package - Run iOS Unified iOS10 : Tests passed: 34…
Details
iOS8-UITests-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Cycle 8 :: UI Tests :: OSX Test Cloud Package - Run iOS Unified IOS8 : Tests passed: 348…
Details
iOS9-UITests-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Cycle 8 :: UI Tests :: OSX Test Cloud Package - Run iOS Unified iOS9 : Tests passed: 350…
Details

@samhouts samhouts deleted the accessibility branch Jan 31, 2017

jassmith added a commit that referenced this pull request Feb 23, 2017

[All] Basic Accessibility Support (#713)
* [Core] Add accessibility properties

* [Controls] Add accessibility gallery

* [iOS] Implement accessibility properties

* [Android] Implement accessibilty properties

* [Win] Implement accessibility properties

* [Win] Select ListView item on selected for a11y

* Update docs

* TODO: macOS accessibility

* [iOS] Fix failing UI Tests
@huangjinshe

This comment has been minimized.

Show comment
Hide comment
@huangjinshe

huangjinshe Apr 23, 2017

I'm not sure this is the problem source, but after I update my master source code, I always get System.Runtime.InteropServices.MissingInteropDataException:“ComTypeMarshalling_MissingInteropData error, and the application will crash when I build release and run the UWP app with .net Native.

It will fixed until I add my project Default.rd.xml:
<Type Name="Windows.UI.Xaml.Automation.Peers.AccessibilityView" MarshalObject="Required Public" />

But after that, I realize there are some other problem such like: the page trigger not working(the page aways keep the first state).

Do you have any suggestion for this? Thank you.

huangjinshe commented Apr 23, 2017

I'm not sure this is the problem source, but after I update my master source code, I always get System.Runtime.InteropServices.MissingInteropDataException:“ComTypeMarshalling_MissingInteropData error, and the application will crash when I build release and run the UWP app with .net Native.

It will fixed until I add my project Default.rd.xml:
<Type Name="Windows.UI.Xaml.Automation.Peers.AccessibilityView" MarshalObject="Required Public" />

But after that, I realize there are some other problem such like: the page trigger not working(the page aways keep the first state).

Do you have any suggestion for this? Thank you.

@samhouts samhouts referenced this pull request Apr 28, 2017

Closed

[Evolution] Toolbar a11y #889

4 of 4 tasks complete

@samhouts samhouts referenced this pull request May 9, 2017

Merged

[All] Rename Accessibility -> AutomationProperties #912

4 of 4 tasks complete

@samhouts samhouts added D-15.4 and removed cla-not-required labels Oct 10, 2017

@samhouts samhouts modified the milestone: 3.1.0 Jun 1, 2018

@samhouts samhouts added this to Done in vNext+1 (master) Jun 26, 2018

@samhouts samhouts removed this from Done in vNext+1 (master) Jun 26, 2018

@samhouts samhouts added this to the 2.3.5 milestone Jun 27, 2018

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