Skip to content

fix: allow scrolling the notification actions list on small screens#11212

Open
mvanhorn wants to merge 1 commit into
thunderbird:mainfrom
mvanhorn:fix/11191-notification-actions-scroll
Open

fix: allow scrolling the notification actions list on small screens#11212
mvanhorn wants to merge 1 commit into
thunderbird:mainfrom
mvanhorn:fix/11191-notification-actions-scroll

Conversation

@mvanhorn

Copy link
Copy Markdown
Contributor

Prior to submitting a pull request, please familiarize yourself with...

Linked Issue/Ticket: Fixes #11191

Description

On the Notification actions reorder screen, every row attached a full-row drag gesture. NotificationReorderRow in NotificationActionsSettingsScreen.kt put .immediateDragGesture(...) on the root Row, so any vertical drag anywhere on a row was consumed as a reorder drag. When the action list is taller than the screen, that left no way to scroll the LazyColumn, and actions below the fold were unreachable on small displays.

This moves the gesture off the row and onto a dedicated leading drag handle (NotificationDragHandle). With the gesture confined to the handle, vertical drags on the rest of a row fall through to the LazyColumn and scroll the list, while dragging the handle still reorders the item. This mirrors how account reordering already exposes a grab area in settings.

The reorder logic in NotificationActionsReorderController is unchanged. The existing up/down arrow buttons remain the accessible reordering path, so the handle is marked decorative for screen readers (clearAndSetSemantics) to avoid exposing a repeated, non-actionable element to TalkBack.

Screen Shots

This is a touch-gesture and behavior change. A short video of dragging the handle versus scrolling the row body would best show it; I was not able to capture device media in this environment.

AI Disclosure

Select one of the following (mandatory)

  • This contribution does not include any changes created or assisted by AI.
  • This contribution includes changes assisted by AI.
  • This contribution includes changes created by AI.

Please ensure that your pull request meets the following requirements - thanks!

  • I have read and affirm that my contribution adheres to Mozilla's Community Participation Guidelines
  • This contribution is in Kotlin where possible
  • This contribution does not use merge commits
  • This contribution adheres to the existing codestyle (run gradlew spotlessCheck to check and gradlew spotlessApply to format your source code; will be checked by CI).
  • This contribution does not break existing unit tests (run gradlew testDebugUnitTest; will be checked by CI).
  • This contribution includes tests for any new functionality, and maintains tests for any updated functionality.
  • This contribution adheres to our Engineering process (RFC/Technical Design/ADR)
  • This PR has a descriptive title and body that accurately outlines all changes made, and contains a reference to any issues that it fixes (e.g. Closes #XXX or Fixes #XXX).

AI was used for assistance.

Move the reorder drag gesture from the full row onto a dedicated leading drag handle so vertical drags elsewhere on a row fall through to the LazyColumn and scroll the list. The handle is decorative for accessibility; screen-reader reordering stays on the existing up/down buttons. Fixes thunderbird#11191.
@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Validation Passed: All report and feature-flag labels are correctly set.

@dani-zilla dani-zilla added the report: include Include changes in user-facing reports. label Jun 29, 2026
@dani-zilla

dani-zilla commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

So, this is in line with what I was thinking. And it does re-enable scrolling on small devices. However, I do think the divider line is a bit inelegant here. We could either allow just the line to be dragged or fix the handle on it.

I also wonder if we wouldn't be better off only showing these if the display size is too small to display all the content. That could be out of scope, and we could look at it for a future improvement. Probably best for accessibility and to re-add this feature to small displays to just get the handles aligned right and working for now.

notificationActionsSettingsWithScrolling.mov
notificationActionsSettingsWithHandles

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

report: include Include changes in user-facing reports.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a way to scroll on notification actions page on small displays

2 participants