Skip to content
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

UIAccessibility issue with scrolling #346

Open
palaniraja opened this issue Apr 21, 2013 · 8 comments
Open

UIAccessibility issue with scrolling #346

palaniraja opened this issue Apr 21, 2013 · 8 comments

Comments

@palaniraja
Copy link

It seems not compatible with UIAccessibility. For eg., scrollview with voiceover is accessible with three finger scrolling, but iCarousel is missing the feature.

@thisisjeffwong
Copy link

How should Accessibility work? One thing I wonder how convey horizontal scrolling vs vertical scrolling. When the user first arrives at the carousel. Perhaps just an announcement?

@nicklockwood
Copy link
Owner

I've really struggled with this. I don't understand the accessibility APIs well enough to make it work, basically. Hoping someone will fix it with a pull request, but I've been waiting in vain so far.

@thisisjeffwong
Copy link

I might be able to do it if I can allocate time for it in our current sprint.

Thanks for making such a useful and configurable widget!

@dral3x
Copy link

dral3x commented Feb 2, 2017

3 and half year has passed. No news on this issue?

I notice there are 2 PR opened, PR #468 and #653

@acecilia
Copy link

Seems like there are no answers about this topic. I also need the accessibility features. There are already two open pull requests claiming to add the support. @nicklockwood can you give us some feedback? Thanks

@dral3x
Copy link

dral3x commented Mar 13, 2017

We implemented accessibility in the simplest way possible. Take a look at our fork if you want https://github.com/spreaker/iCarousel

@kaannesinn
Copy link

If you comment the lines below on iCarousel.m file, iCarousel view and its custom subviews will be accessible.

//set up accessibility
// self.accessibilityTraits = UIAccessibilityTraitAllowsDirectInteraction;
// self.isAccessibilityElement = YES;

@acecilia
Copy link

acecilia commented Sep 6, 2018

What I end up doing is customizing the value of accessibilityLabel and accessibilityValue in the subview I put in the carousel items:

    private func accessibilitySetup() {
        accessibilityLabel = "Carousel item"
        let messageElements = [
            bgCircleTitleLabel.text,
            bgCircleSubtitleLabel.text,
            bottomTitleLabel.text,
            bottomSubtitleLabel.text
        ].compactMap { $0?.isEmpty == false ? $0 : nil }
        accessibilityValue = messageElements.joined(separator: " ")
    }

The elements inside the messageElements array are subviews of the carousel item. That function just call it when setting up the carousel item (everytime the item is changed).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants