From af391f3055a525ac6c9f67c433e47e2db7975d31 Mon Sep 17 00:00:00 2001 From: Pengoose Date: Sat, 14 Dec 2024 22:26:27 +0900 Subject: [PATCH] chore: align aria-invalid check with W3C specs --- packages/playwright-core/src/server/injected/roleUtils.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/playwright-core/src/server/injected/roleUtils.ts b/packages/playwright-core/src/server/injected/roleUtils.ts index 23ea529394..8ad92db4d8 100644 --- a/packages/playwright-core/src/server/injected/roleUtils.ts +++ b/packages/playwright-core/src/server/injected/roleUtils.ts @@ -469,7 +469,9 @@ export function getElementAccessibleErrorMessage(element: Element, includeHidden accessibleErrorMessage = ''; const ariaInvalid = element.getAttribute('aria-invalid'); - if (ariaInvalid === 'true') { + // const isAriaInvalid = ariaInvalid === 'true' || (ariaInvalid !== 'false' && ariaInvalid !== null && ariaInvalid !== ''); + const isAriaInvalid = ariaInvalid !== null && ariaInvalid.toLowerCase() !== 'false'; + if (isAriaInvalid) { const errorMessageId = element.getAttribute('aria-errormessage'); if (errorMessageId) { // Ensure the ID is valid (no whitespace)