From dd79d87783c1155a724e4cf5ba56d47729d673d5 Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Fri, 26 Mar 2021 14:10:56 -0700 Subject: [PATCH] [fix] accessibilityLevel should control semantic tag Fix #1965 --- .../__tests__/propsToAccessibilityComponent-test.js | 9 +++++++++ .../AccessibilityUtil/propsToAccessibilityComponent.js | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/react-native-web/src/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.js b/packages/react-native-web/src/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.js index d2b58c39..6ace887f 100644 --- a/packages/react-native-web/src/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.js +++ b/packages/react-native-web/src/modules/AccessibilityUtil/__tests__/propsToAccessibilityComponent-test.js @@ -24,6 +24,15 @@ describe('modules/AccessibilityUtil/propsToAccessibilityComponent', () => { ).toEqual('h3'); }); + test('when "accessibilityRole" is "heading" and "accessibilityLevel" is set', () => { + expect( + propsToAccessibilityComponent({ + accessibilityRole: 'heading', + accessibilityLevel: 3 + }) + ).toEqual('h3'); + }); + test('when "accessibilityRole" is "label"', () => { expect(propsToAccessibilityComponent({ accessibilityRole: 'label' })).toEqual('label'); }); diff --git a/packages/react-native-web/src/modules/AccessibilityUtil/propsToAccessibilityComponent.js b/packages/react-native-web/src/modules/AccessibilityUtil/propsToAccessibilityComponent.js index 3faf87a5..db56213d 100644 --- a/packages/react-native-web/src/modules/AccessibilityUtil/propsToAccessibilityComponent.js +++ b/packages/react-native-web/src/modules/AccessibilityUtil/propsToAccessibilityComponent.js @@ -46,7 +46,7 @@ const propsToAccessibilityComponent = (props: Object = emptyObject) => { const role = propsToAriaRole(props); if (role) { if (role === 'heading') { - const level = props['aria-level']; + const level = props.accessibilityLevel || props['aria-level']; if (level != null) { return `h${level}`; }