Skip to content

Conversation

@personalizedrefrigerator
Copy link
Contributor

@personalizedrefrigerator personalizedrefrigerator commented Sep 17, 2024

Motivation

Goal: Improve the accessibility of the FAB.Group component by preventing hidden items from being focused.

Related issue

Previously, FAB.Group items were accessibility focusable even when the menu was collapsed:

recording1.webm

Note: This only fixes the issue on Android and iOS. A similar issue persists on web.

Test plan

iOS:

  1. Open the example app in the simulator.
  2. Open the "Floating Action Button" example.
  3. Enable VoiceOver system-wide.
  4. Move VoiceOver focus to the simulator.
  5. Move VoiceOver focus to the next item. Verify that the item is not a hidden member of the FAB.Group.
  6. Repeat step 5 until focus is on the "+" FAB.
  7. Activate the current item.
  8. Move VoiceOver focus to the next item until the floating calendar FAB has focus. Verify that the menu items ("unlabeled", "star", "email", "remind", toggle on long press") each are focusable.
    • Note: VoiceOver will focus items not in the FAB.Group menu during this step. This is a separate issue.

Screen recording:

recording2.webm

Note: The above screen recording also uses Expo SDK 51 (I was having trouble deploying the example with SDK 48).

@callstack-bot
Copy link

callstack-bot commented Sep 17, 2024

Hey @personalizedrefrigerator, thank you for your pull request 🤗. The documentation from this branch can be viewed here.

Copy link
Member

@lukewalczak lukewalczak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @personalizedrefrigerator for the contribution!

@lukewalczak lukewalczak merged commit ed4df90 into callstack:main Apr 17, 2025
@personalizedrefrigerator personalizedrefrigerator deleted the pr/accessibility/fab-group-fix-focusable-when-closed branch April 17, 2025 12:49
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

Successfully merging this pull request may close these issues.

3 participants