From 880abb489708647c46ba5e99bda0e94161ebb7c4 Mon Sep 17 00:00:00 2001 From: ksiler Date: Mon, 10 Feb 2025 10:25:40 -0800 Subject: [PATCH 1/6] Remove text from Link a11y tree and add a11yLabel --- packages/components/Link/src/Link.tsx | 14 ++++++++++++-- yarn.lock | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/components/Link/src/Link.tsx b/packages/components/Link/src/Link.tsx index 2f81c02990..a86601834d 100644 --- a/packages/components/Link/src/Link.tsx +++ b/packages/components/Link/src/Link.tsx @@ -1,5 +1,6 @@ /** @jsxRuntime classic */ /** @jsx withSlots */ +import React from 'react'; import { Platform, View } from 'react-native'; import type { UseSlots } from '@fluentui-react-native/framework'; @@ -48,11 +49,20 @@ export const Link = compose({ // Views in Text, we use that to handle interactions instead. const supportsInteractionOnText = Platform.OS !== 'macos'; + // Find the first child that's a string and save it to set as the link's + // accessibilityLabel if one isn't defined. + let linkA11yLabel = ''; + linkA11yLabel = React.Children.toArray(children) + .find((child) => typeof child === 'string') + .toString(); + return supportsA11yTextInText && supportsInteractionOnText && (inline || mergedProps.selectable) ? ( {children} ) : ( - - {children} + + + {children} + ); }; diff --git a/yarn.lock b/yarn.lock index 1fbcd3f3e5..d83aa93cb5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5083,9 +5083,9 @@ __metadata: languageName: unknown linkType: soft -"@fluentui-react-native/text@npm:*, @fluentui-react-native/text@workspace:*, @fluentui-react-native/text@workspace:packages/components/Text": +"@fluentui-react-native/text@npm:*, @fluentui-react-native/text@workspace:*, @fluentui-react-native/text@workspace:packages/components/text": version: 0.0.0-use.local - resolution: "@fluentui-react-native/text@workspace:packages/components/Text" + resolution: "@fluentui-react-native/text@workspace:packages/components/text" dependencies: "@fluentui-react-native/adapters": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" From bed0405031254d3facb48b46812402cd769490e1 Mon Sep 17 00:00:00 2001 From: ksiler Date: Mon, 10 Feb 2025 11:14:09 -0800 Subject: [PATCH 2/6] add LinkV1 to macOS test pages --- apps/fluent-tester/src/testPages.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/fluent-tester/src/testPages.ts b/apps/fluent-tester/src/testPages.ts index fc3412690b..495f698df0 100644 --- a/apps/fluent-tester/src/testPages.ts +++ b/apps/fluent-tester/src/testPages.ts @@ -185,7 +185,7 @@ export const tests: TestDescription[] = [ name: 'Link V1', component: LinkV1Test, testPageButton: Constants.HOMEPAGE_LINKV1_BUTTON, - platforms: ['win32', 'android', 'windows'], + platforms: ['macos', 'win32', 'android', 'windows'], }, { name: 'Menu', From 3de135d56fc98bcbd2ce3e28c216a1a0714f7011 Mon Sep 17 00:00:00 2001 From: ksiler Date: Mon, 10 Feb 2025 11:15:03 -0800 Subject: [PATCH 3/6] Change files --- ...t-native-link-a9326e1b-bd1d-4dc4-b4f1-8f3ea2447708.json | 7 +++++++ ...native-tester-384ba26f-dbdb-472c-9b9f-70a0931eb6b7.json | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 change/@fluentui-react-native-link-a9326e1b-bd1d-4dc4-b4f1-8f3ea2447708.json create mode 100644 change/@fluentui-react-native-tester-384ba26f-dbdb-472c-9b9f-70a0931eb6b7.json diff --git a/change/@fluentui-react-native-link-a9326e1b-bd1d-4dc4-b4f1-8f3ea2447708.json b/change/@fluentui-react-native-link-a9326e1b-bd1d-4dc4-b4f1-8f3ea2447708.json new file mode 100644 index 0000000000..fe37e6858e --- /dev/null +++ b/change/@fluentui-react-native-link-a9326e1b-bd1d-4dc4-b4f1-8f3ea2447708.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Remove text from Link a11y tree and add a11yLabel", + "packageName": "@fluentui-react-native/link", + "email": "krsiler@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-tester-384ba26f-dbdb-472c-9b9f-70a0931eb6b7.json b/change/@fluentui-react-native-tester-384ba26f-dbdb-472c-9b9f-70a0931eb6b7.json new file mode 100644 index 0000000000..4636828ce7 --- /dev/null +++ b/change/@fluentui-react-native-tester-384ba26f-dbdb-472c-9b9f-70a0931eb6b7.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "add LinkV1 to macOS test pages", + "packageName": "@fluentui-react-native/tester", + "email": "krsiler@microsoft.com", + "dependentChangeType": "patch" +} From 95e2748cde8df6a08e35dc5f7b2a391bcc004d09 Mon Sep 17 00:00:00 2001 From: ksiler Date: Mon, 10 Feb 2025 11:18:15 -0800 Subject: [PATCH 4/6] undo yarn.lock changes --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index d83aa93cb5..e4260b797e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5083,9 +5083,9 @@ __metadata: languageName: unknown linkType: soft -"@fluentui-react-native/text@npm:*, @fluentui-react-native/text@workspace:*, @fluentui-react-native/text@workspace:packages/components/text": +"@fluentui-react-native/text@npm:*, @fluentui-react-native/text@workspace:*, @fluentui-react-native/text@workspace:packages/components/Text": version: 0.0.0-use.local - resolution: "@fluentui-react-native/text@workspace:packages/components/text" + resolution: "@fluentui-react-native/text@workspace:packages/components/Text" dependencies: "@fluentui-react-native/adapters": "workspace:*" "@fluentui-react-native/eslint-config-rules": "workspace:*" @@ -22481,4 +22481,4 @@ __metadata: readable-stream: "npm:^4.0.0" checksum: 10c0/50f2fb30327fb9d09879abf7ae2493705313adf403e794b030151aaae00009162419d60d0519e807673ec04d442e140c8879ca14314df0a0192de3b233e8f28b languageName: node - linkType: hard + linkType: hard \ No newline at end of file From c8f7502535e1ce6e323347430c5b18baca975937 Mon Sep 17 00:00:00 2001 From: ksiler Date: Mon, 10 Feb 2025 11:35:43 -0800 Subject: [PATCH 5/6] restore yarn.lock --- yarn.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index e4260b797e..1fbcd3f3e5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -22481,4 +22481,4 @@ __metadata: readable-stream: "npm:^4.0.0" checksum: 10c0/50f2fb30327fb9d09879abf7ae2493705313adf403e794b030151aaae00009162419d60d0519e807673ec04d442e140c8879ca14314df0a0192de3b233e8f28b languageName: node - linkType: hard \ No newline at end of file + linkType: hard From 8c67f51ee452808861fd2aea33601dcfdb2510e9 Mon Sep 17 00:00:00 2001 From: ksiler Date: Mon, 10 Feb 2025 13:10:52 -0800 Subject: [PATCH 6/6] update link snapshots --- .../Link/src/__tests__/__snapshots__/Link.test.tsx.snap | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/components/Link/src/__tests__/__snapshots__/Link.test.tsx.snap b/packages/components/Link/src/__tests__/__snapshots__/Link.test.tsx.snap index 8579f1d552..209cbebd0a 100644 --- a/packages/components/Link/src/__tests__/__snapshots__/Link.test.tsx.snap +++ b/packages/components/Link/src/__tests__/__snapshots__/Link.test.tsx.snap @@ -2,6 +2,7 @@ exports[`Link component tests Default Link 1`] = `