Yash
 · FlutterFlow Power User

Implement an Option to Disable Semantics for Widgets in FlutterFlow

Widgets & Design

I would like to request an enhancement in FlutterFlow to allow users to disable semantics for individual widgets directly from the FlutterFlow editor without relying on custom code. Currently, if we need to make a widget invisible to accessibility services (e.g., VoiceOver, TalkBack), we have to use custom code, which is not ideal for all users, especially those who prefer using the visual builder.

Steps to Reproduce:

  1. Add any widget (e.g., Button, Container) to a screen in the FlutterFlow editor.

  2. Try to find an option to disable semantics or make the widget ignored by accessibility services.

  3. Notice that there's no built-in setting available to manage this aspect of accessibility.

Expected Behavior: A toggle or setting should be available in the properties panel for widgets, allowing users to enable or disable semantics without writing custom code. This would help developers manage accessibility features efficiently within FlutterFlow.

Actual Behavior: Currently, there is no direct way to disable semantics for a widget without wrapping it in custom code.

Impact: This limitation makes it difficult for developers to manage accessibility features, especially for those who prefer a no-code or low-code approach. It also limits the accessibility customization options available in FlutterFlow, impacting users who rely on screen readers.

Proposed Solution: Add a property or toggle in the widget properties panel to control the semantics state (enabled: true/false) of each widget. This would improve accessibility management and reduce the need for custom coding.

Additional Context: Providing this feature would enhance accessibility support and align with FlutterFlow's no-code/low-code philosophy by giving users more control directly within the visual editor.

What have you tried so far?
  • Attempted to find a toggle or option in the FlutterFlow editor to disable semantics directly but could not locate one.

  • Used opacity settings and visibility controls as workarounds, but these do not fully achieve the desired outcome, as widgets remain in the accessibility tree.

  • Managed focus traversal settings, but this approach does not reliably exclude widgets from screen readers.

  • Finally, resorted to using custom code (wrapping the widget in a Semantics widget with enabled: false), which worked but is not ideal for no-code/low-code users who prefer using the visual builder.

Did you check FlutterFlow's Documentation for this topic?
Yes
6
5 replies