Skip to main content
WCAGrules
Quick navigation

ARIA property · deprecated

aria-dropeffect

Marked what a drop would do to the target, in the drag-and-drop model ARIA deprecated in version 1.1. Here because you will meet it in older code.

It named what would happen if the thing being dragged were dropped on this element. Copy, move, link, and so on. Nothing about the page changed when it did, because it described an intention rather than causing one.

This one is deprecated. ARIA dropped it in version 1.1 along with the other half of the same drag-and-drop pair. Deprecated is not the same as dead. Platform mappings for both still exist, and ARIA encourages user agents to go on supporting deprecated features, so nothing here says it never worked. What it says is that nothing new should carry it.

Which roles may carry aria-dropeffect

Value
token list
Filed as
A property, which is how ARIA files it and not a rule about how often it changes.
Roles that may carry it
Any role. This one is global, which is why no individual role lists it.

Global means no role has to grant permission for it. There is one more place to check, because ARIA in HTML sets rules per element as well as per role, and it allows no aria-* attributes at all on a datalist or on the html element.

Every role above comes from the specification's own list for this attribute, checked name for name. The normative definition stays with the W3C, in the aria-dropeffect section of the ARIA specification.

What to do with aria-dropeffect

There is nothing to keep current, because nothing new should carry this. The spec is specific about why it went, saying the property is expected to be replaced by a new feature in a future version of ARIA. That feature has not arrived, so there is no swap to make. Treat it as something to take out the next time you touch the code around it, and do not read its presence as evidence that the drag-and-drop underneath it works, because that was never this attribute's job.

How aria-dropeffect gets checked

There are test rules that check an ARIA attribute is one that exists, is allowed on the role underneath it, and carries a value of the right type. What they map to is ARIA's own author requirements rather than any WCAG criterion, so a misplaced attribute breaks ARIA without being a WCAG failure by itself. It becomes one under 4.1.2 Name, Role, Value the moment the missing or wrong value means the control's state cannot be worked out programmatically, which is what usually happens next.

Nothing will flag it as deprecated, either. It is still a defined ARIA attribute, so it passes the validity rules the same as any other. Finding it is a code review job rather than a testing one.

Attributes you will meet alongside aria-dropeffect

  • aria-atomic Whether an update should be read whole, or only the part that changed.
  • aria-busy Says a region is still being updated, so wait before announcing it.
  • aria-controls Points at what this control operates. A combobox has to say what it opens.
  • aria-current Marks the one item in a set that represents the here and now, such as the current page in a nav.
  • aria-describedby Points at further description, read after the name. Hints and error text usually go here.
  • aria-details Points at richer explanation elsewhere in the page, which people can navigate to rather than have read out.
  • aria-flowto Overrides reading order by pointing at what should be read next. Rarely the right answer.
  • aria-hidden Removes an element from the accessibility tree while leaving it on screen.

Every ARIA state and property · Every ARIA role · ARIA explained

Go somewhere useful

Find tools, resources and your workspace.

29 destinations