diff --git a/package-lock.json b/package-lock.json index dd4c131..59f5bd6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "diffsplain": "scripts/present.mjs" }, "devDependencies": { + "@axe-core/playwright": "4.12.1", "@playwright/test": "1.62.0", "@tailwindcss/postcss": "4.2.1", "@types/node": "22.19.19", @@ -528,6 +529,19 @@ "yaml": "^2.8.3" } }, + "node_modules/@axe-core/playwright": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.12.1.tgz", + "integrity": "sha512-rMd7xriptqKpP+w5265i4Hdkv2X5kbu6uiBi/B2I7uf3hieRBM3qDCfaKPtxfiYb2mKXfF+yLODJwIx+Jv1GDw==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "axe-core": "~4.12.1" + }, + "peerDependencies": { + "playwright-core": ">= 1.0.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", @@ -8005,6 +8019,16 @@ "dev": true, "license": "MIT" }, + "node_modules/axe-core": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.12.1.tgz", + "integrity": "sha512-s7iGf5GaVMxEG0ENN9x+xTr7GFZCb1ZP/1uATUpCEK2X78nDB3RwbtFCo9pGAf9ru+VwoQ464DkaLEeRM08wJA==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, "node_modules/axobject-query": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", diff --git a/package.json b/package.json index a363fff..26cfa2e 100644 --- a/package.json +++ b/package.json @@ -81,6 +81,7 @@ "lint": "tsc --noEmit && eslint ." }, "devDependencies": { + "@axe-core/playwright": "4.12.1", "@playwright/test": "1.62.0", "@tailwindcss/postcss": "4.2.1", "@types/node": "22.19.19", diff --git a/site/demo-controller.js b/site/demo-controller.js index 164cbd4..65e5c73 100644 --- a/site/demo-controller.js +++ b/site/demo-controller.js @@ -23,9 +23,15 @@ export function focusLoopTarget(activeIndex, lastIndex, shiftKey) { export function shouldHandleFileArrow({ pickerIsOpen, targetAcceptsText, + targetHandlesArrow, demoHasFocus, }) { - return !pickerIsOpen && !targetAcceptsText && demoHasFocus; + return ( + !pickerIsOpen && + !targetAcceptsText && + !targetHandlesArrow && + demoHasFocus + ); } export function swipeDirection(distance, threshold = 48) { diff --git a/site/index.html b/site/index.html index 6807bc9..ed57b8f 100644 --- a/site/index.html +++ b/site/index.html @@ -201,7 +201,12 @@

-
+