patchthecode / JTAppleCalendar

The Unofficial Apple iOS Swift Calendar View. Swift calendar Library. iOS calendar Control. 100% Customizable
https://patchthecode.com
MIT License
7.57k stars 810 forks source link

Content offset drops on Voice Over focus. #819

Open mecid opened 6 years ago

mecid commented 6 years ago

I am using one row horizontal layout for calendar. When Voice Over focused on calendar view it drops content offset to start of month, but i am showing current week.

patchthecode commented 6 years ago

When Voice Over focused on calendar view it drops content offset to start of month, but i am showing current week.

unclear on what this means. you say when you tap a date it immediately scrolls to the first date instead?

mecid commented 6 years ago

@patchthecode Please checkout the screenshot

unadjustednonraw_thumb_afb

When voice over enabled and focus switched from share button to calendar it drops content offset to start of month.

patchthecode commented 6 years ago

does this also happen with master branch code? ->https://github.com/patchthecode/JTAppleCalendar/wiki/Common-Questions

mecid commented 6 years ago

@patchthecode yes, I'm on master branch.

patchthecode commented 6 years ago

In that case hmm... Is it possible you have a barebones app that replicates this? I have never used this library with voice over 😅 as it wasnt on my todo list ever. If i have some sample to work with i can have a look.

mecid commented 6 years ago

@patchthecode Thanks for your time. You know I am using your calendar lib for years and now I am implementing Voice Over support for my users. You can do it with your example. These are the steps:

Run layout demonstration Select 1-row calendar layout Swipe to the middle of the month Call Siri to enable Voice Over Use swipe right to move the VoiceOver cursor When focus will achieve the calendar you will see that calendar drop position to the first date of the month.

Hartistic commented 6 years ago

This is happening to me too. Would love a way to address this.

mecid commented 6 years ago

@emtjoshhart I disabled accessibility element for calendar now :(

patchthecode commented 6 years ago

...sorry guys. ok i will take a look. i just got so caught up. will look today.

Can the problem be simulated on the simulator? or do i need an actual device?

Hartistic commented 6 years ago

Hey Jay, I sent you an email with video showing the bug. It seems like Voice Over will take you either to the first available date (if coming from the top) or the last available date (if coming from the bottom up). Instead of sticking to the current month that is being shown.

Hartistic commented 6 years ago

Looks like this may be the expected way that Apple handles Accessibility with UICollectionViews. Found these open radars, and they are old:

https://lists.apple.com/archives/accessibility-dev/2014/Oct/msg00000.html http://www.openradar.me/20419462

and this SO:
https://stackoverflow.com/questions/27396792/voiceover-focus-resetting-uicollectionview-to-first-entry

patchthecode commented 6 years ago

@mecid

I cant seem to replicate this.

  1. I started my calendar app demo (located on github)
  2. i swiped to the middle of the month January
  3. i said "hey siri" and told siri to enable voice over
  4. i them pressed the home button to dismiss the screen to get back to my calendar app
  5. i focused on the calendar
  6. i pressed a date on the calendar (which is still in the middle of month of january)
  7. i then swiped to the next date screen

I thought i would have restarted to the start of the month like you guys said, but it correctly went to the next screen.

Is there something wrong in the steps i did? I tested on iPhone SE swift 4.2

Hartistic commented 6 years ago

Yes @patchthecode, please see the example I emailed you

patchthecode commented 6 years ago

@emtjoshhart can you join me here? https://gitter.im/patchthecode/JTAppleCalendar

mecid commented 6 years ago

@patchthecode yes, it is wrong) Please check steps which I described. Don't press on the date, you have to swipe.

patchthecode commented 5 years ago

I've set the help wanted flag long time now. Because I could never reproduce this. I'm not sure if this is still happening in version 7.1.8 Will leave this issue up still.

mecid commented 5 years ago

@patchthecode I will check it with 7.1.8.

guilhermeluisdomingues commented 4 years ago

I'm facing this problem too 😢 In "Debug View Hierarchy" section, and showing the clipped content, its possible to see all available in my calendar. Please take a look at the image bellow. image

Maybe thats the problem... if there is something like "dequeue reusable cell with identifier" of a table view could prevent this, couldn't?