Redesign drag and drop interactions, and nested menu items, for all devices

Created on 17 April 2013, about 12 years ago
Updated 2 May 2025, 2 days ago

During progress of #1261002: Draggable tables do not work on touch screen devices it became clear that although we can redesign drag and drop interactions just for touch devices, this level of segregation runs us into trouble on devices that support multiple inputs (touch and mouse). This is a common problem in the wider web design industry, causing some to say that all desktop designs should be touch friendly.

Because our drag and drop interaction pattern is so tightly bound to nested items in menu structures, I'm proposing we redesign those in tandem. On sites with large and complex menu structures, the current design struggles to hold up. On smaller screen, it can't really handle any menu structure.

Game plan

We are creeping close to code freeze, so this requires significant effort soon. We need to research modern, elegant solutions to these problems on touch screen devices and on small screens. As it happens, I did some research, and even a prototype of drag and drop in nav.d8mux.org. If we get a design direction soon I think we can fold this implementation work into the new style guide implementation

📌 Task
Status

Postponed: needs info

Version

11.0 🔥

Component

javascript

Created by

🇬🇧United Kingdom lewisnyman Nomadic

Live updates comments and jobs are added and updated live.
  • Usability

    Makes Drupal easier to use. Preferred over UX, D7UX, etc.

  • mobile

    Issue related to Drupal on mobile devices.

Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • 🇦🇺Australia mstrelan

    Is this issue still relevant? There has been no update in over 10 years and it is currently the oldest open issue in the system.module component. On that note, it's not really related to the system module, I suspect it was used as a catch-all. The current tabledrag library is defined in core.libraries.yml, outside of any modules or themes, so I think it's appropriate to move this to the javascript component.

    I tried to understand the intent of the issue, but it's not really clear from the issue summary. There is mention of a prototype, but the link is broken. If anyone wants to continue this issue I think we need to start with clear direction in the issue summary. Changing status to Postponed (maintainer needs more info).

Production build 0.71.5 2024