Xamarin.forms: [Bug] [iOS] RefreshView pushed into view when accessibility navigating through CollectionView header and items

Created on 9 Nov 2020  路  4Comments  路  Source: xamarin/Xamarin.Forms

Description

When using a RefreshView and wrap a CollectionView with header in it, when using VoiceOver and accessibility navigating through the items in the header, or the CollectionView's items if the list of items does not overflow the screen, the whitespace of the RefreshView is displayed, sometimes without the LoadingSpinner

Steps to Reproduce

  1. Have VoiceOver enabled on device
  2. Open Repro solution
  3. Accessibility navigate through items

Expected Behavior

RefreshView's whitespace is not visible

Actual Behavior

RefreshView's whitespace is visible

Basic Information

  • Version with issue: Xamarin.Forms 4.8.0.1560
  • Last known good version: n/a
  • IDE:
  • Platform Target Frameworks:

    • iOS: 13.2

    • Android: n/a

    • UWP: n/a

  • Android Support Library Version: n/a
  • Nuget Packages: Xamarin.Forms 4.8.0.1560
  • Affected Devices: iPhone 6 running iOS 12.4.5

Screenshots

Reproduction Link


RefreshViewRepro.zip

a11y 馃攳 collectionview refreshview bug

All 4 comments

Hi, @djhango - thank you for submitting this issue! Would you mind clarifying the repro steps a bit? What are the exact steps you're taking to trigger the refresh while navigating with accessibility? And what is the exact whitespace you're referring to? If possible, screenshots would be helpful! Thanks so much :)

Hi @rachelkang , after looking into it a bit further, it seems that the whitespace doesn't come from the RefreshView itself judging from the last screenshot in this comment, although to repro the issue that I initially raised, the steps should just be to

  • have VoiceOver enabled on the device
  • deploy the repro solution
    Whitespace should be visible above the CollectionView header as shown below (on my actual project I need to accessibility navigate through the list items before the same issue presents itself)
    IMG_0018

Additionally, while playing around with the repro solution I've found the following, if the CollectionView and it's items is longer than the screen height, if you accessibility navigate from the header to the first list item, the whitespace is hidden
IMG_0020

However, if the CollectionView and it's items is shorter than the screen height, and you accessibility navigate from the header to the first list item, the whitespace is still shown (Although this screenshot looks the same as the first, this list only has 15 items instead of 40)
IMG_0019

Also, if you accessibility navigate from the first list item back through the header items, the RefreshView starts to display (I changed the RefreshView BackgroundColor to Aqua here which leads me to believe that the whitespace of the initial issue is not coming from the RefreshView)
IMG_0021

Finally, if using 3 finger accessibility scrolling, when you scroll up to trigger the RefreshView when the refresh finishes, the view snaps to the first list item and is unable to 3 finger accessibility scroll back up to see the headers unless the scroll down first (although they can accessibility navigate back from the list item to the header fine).

Let me know if any further clarification is required, also let me know if you want these additional findings raised as separate issues.

Having the exactly same issue!

Hi, @djhango - thank you for the thorough clarification! Confirming that I'm able to repro all the behaviors you described and will be exploring this further.

Was this page helpful?
0 / 5 - 0 ratings