WAI-ARIA (Web Accessibility Initiative - Accessible Rich Internet Applications)에서 정의한
드래그 앤 드롭 속성(Drag-and-Drop Attributes) 속성은 사용자가 마우스나 터치를 사용하지 않고도 드래그 앤 드롭 기능을 활용할 수 있도록 돕습니다.
특히, 보조 기술을 사용하는 사용자에게 현재 인터페이스에서 발생하는 드래그 앤 드롭과 관련된 상태와 피드백을 제공하여 접근성을 크게 향상시킵니다.
aria-dropeffect 속성은 WAI-ARIA(WAI-Accessible Rich Internet Applications)에서 정의된 속성 중 하나로,
드래그 앤 드롭 인터페이스에서 사용자가 드래그 가능한 객체가 특정 드롭 영역에 놓였을 때 어떤 효과가 발생할지를 나타냅니다. 그러나, WAI-ARIA 1.2에서는 aria-dropeffect 속성이 더 이상 사용되지 않는 것으로 권장됩니다.
대신, HTML5의 네이티브 드래그 앤 드롭 이벤트와 속성을 사용하여 접근성을 관리하는 것이 좋습니다
WAI-ARIA 1.2에서는 aria-dropeffect 속성의 사용이 권장되지 않지만,
이 속성은 여전히 다음과 같은 값들을 가질 수 있습니다.
copy
드래그된 객체가 드롭되면 원본 객체가 복사됩니다.
move
드래그된 객체가 드롭되면 원본 객체가 이동됩니다.
link
드래그된 객체가 드롭되면 원본 객체에 대한 링크가 생성됩니다.
execute
드래그된 객체가 드롭되면 실행 액션이 발생합니다.
popup
드래그된 객체가 드롭되면 새 창이나 팝업이 생성됩니다.
none
드롭 효과가 발생하지 않음을 명시합니다.
연관된 HTML 태그 및 역할
연관된 태그
<div>,
<span>,
<p>,
<li>,
<ul>,
<section>,
<article> 등 대부분의 HTML 요소에서 사용 가능합니다.
연관된 역할
드롭 가능한 요소에 대해 사용될 수 있으며,
group, region, listbox, grid, tree,
tabpanel 등의 역할과 함께 사용할 수 있습니다.
사용 시 주의사항
더 이상 권장되지 않음
aria-dropeffect는 WAI-ARIA 1.2에서 사용을 피하는 것이 좋습니다.
HTML5의 드래그 앤 드롭 API와 같은 네이티브 기능을 사용하는 것이 권장됩니다.
최신 접근성 표준 준수
최신 접근성 표준에 맞춰 드래그 앤 드롭 인터페이스를 설계하고, 가능한 경우 키보드 지원을 포함하는 것이 중요합니다.
예시
잘못된 예시
WAI-ARIA 1.2에서는 aria-dropeffect의 사용이 권장되지 않으므로, 이 속성을 사용하지 않는 것이 좋습니다.
올바른 예시
이 예시에서는 aria-dropeffect 대신 HTML5의 네이티브 이벤트와
ARIA 역할 및 속성(role="region", aria-label)을 사용하여 접근성을 유지합니다.
파일을 복사하는 드롭 효과 구현 예시
링크를 생성하는 드롭 효과 구현 예시
시멘틱 구조의 예시
이 구조는 접근성을 높이기 위해 HTML5 드래그 앤 드롭 API와 ARIA 속성을 사용하여 파일 드롭 영역을 구현한 예시입니다.
aria-dropeffect 대신 최신 접근성 표준을 따릅니다.
aria-grabbed 상태(권장되지 않음)
요약 설명
aria-grabbed 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 정의된 속성 중 하나로,
드래그 앤 드롭 인터페이스에서 사용자가 특정 요소를 "잡았는지" (즉, 드래그 중인지) 여부를 나타냅니다.
이 속성은 주로 스크린 리더 사용자에게 현재 요소가 드래그되고 있는 상태임을 알리는 데 사용됩니다. 그러나, WAI-ARIA 1.2에서는 aria-grabbed 속성이 더 이상 권장되지 않습니다.
대신, HTML5 네이티브 드래그 앤 드롭 이벤트를 사용하는 것이 권장됩니다.