Skip to content

Conversation

@danbrady
Copy link
Contributor

WHY are these changes introduced?

Update Avatar to allow its accessibility role to be presentational. This is ideal when the Avatar is supported by content that gives it context. (Ex. In a Users list when a name is supplied, the Avatar can be presentational and does not need a label.)

Fixes #1925

WHAT is this pull request doing?

Avatar detects if an accessibilityLabel, name, or initials are passed and uses that to create an Avatar with a corresponding label and img role. If none of those props are passed, an i18n string "Avatar" is used as the label and continues to use the img role. This PR removes that "Avatar" accessibility label, and the role becomes presentation.

Copy-paste this code in playground/Playground.tsx:
import React from 'react';
import {Page, Avatar} from '../src';

export function Playground() {
  return (
    <Page title="Playground">
      <Avatar />
      <Avatar name="Hello World" />
      <Avatar initials="DB" />
      <Avatar accessibilityLabel="Hello World" />
    </Page>
  );
}

🎩 checklist

@chloerice
Copy link
Member

Thank you for fixing this @danbrady!! 🎉

@chloerice chloerice merged commit 795ae37 into Shopify:main Jun 29, 2023
kyledurand pushed a commit that referenced this pull request Jun 30, 2023
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @shopify/polaris-icons@7.2.0

### Minor Changes

- [#9581](#9581)
[`991d9fe69`](991d9fe)
Thanks [@Rusty-UX](https://github.com/Rusty-UX)! - Added BoldMajor,
BoldMinor, IndentMajor, IndentMinor, ItalicMajor, ItalicMinor,
OrderedListMajor, OrderedListMinor, OutdentMajor, OutdentMinor,
TextColorMajor, TextColorMinor, UnderlineMajor, UnderlineMinor icons


- [#9580](#9580)
[`75f08f32c`](75f08f3)
Thanks [@kyledurand](https://github.com/kyledurand)! - Added optimize
script

## @shopify/polaris@11.3.1

### Patch Changes

- [#9556](#9556)
[`c72d2f905`](c72d2f9)
Thanks [@aaronccasanova](https://github.com/aaronccasanova)! -
Restructured `Select` override selectors to patch Sass compilation issue


- [#9031](#9031)
[`795ae3782`](795ae37)
Thanks [@danbrady](https://github.com/danbrady)! - Added support for
`Avatar` being presentational

- Updated dependencies
\[[`991d9fe69`](991d9fe),
[`75f08f32c`](75f08f3)]:
    -   @shopify/polaris-icons@7.2.0

## @shopify/polaris-cli@0.2.10



## polaris.shopify.com@0.55.8

### Patch Changes

- Updated dependencies
\[[`c72d2f905`](c72d2f9),
[`795ae3782`](795ae37),
[`991d9fe69`](991d9fe),
[`75f08f32c`](75f08f3)]:
    -   @shopify/polaris@11.3.1
    -   @shopify/polaris-icons@7.2.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
juzser pushed a commit to juzser/polaris that referenced this pull request Jul 27, 2023
<!--
  ☝️How to write a good PR title:
- Prefix it with [ComponentName] (if applicable), for example: [Button]
  - Start with a verb, for example: Add, Delete, Improve, Fix…
  - Give as much context as necessary and as little as possible
  - Prefix it with [WIP] while it’s a work in progress
-->

### WHY are these changes introduced?

Update Avatar to allow its accessibility role to be presentational. This
is ideal when the Avatar is supported by content that gives it context.
(Ex. In a Users list when a name is supplied, the Avatar can be
presentational and does not need a label.)

Fixes Shopify#1925


### WHAT is this pull request doing?

<!--
  Summary of the changes committed.

Before / after screenshots are appreciated for UI changes. Make sure to
include alt text that describes the screenshot.

If you include an animated gif showing your change, wrapping it in a
details tag is recommended. Gifs usually autoplay, which can cause
accessibility issues for people reviewing your PR:

    <details>
      <summary>Summary of your gif(s)</summary>
      <img src="..." alt="Description of what the gif shows">
    </details>
-->

Avatar detects if an `accessibilityLabel`, `name`, or `initials` are
passed and uses that to create an Avatar with a corresponding label and
`img` role. If none of those props are passed, an i18n string "Avatar"
is used as the label and continues to use the `img` role. This PR
removes that "Avatar" accessibility label, and the role becomes
`presentation`.


<!--
  Give as much information as needed to experiment with the component
  in the playground.
-->

<details>
<summary>Copy-paste this code in
<code>playground/Playground.tsx</code>:</summary>

```jsx
import React from 'react';
import {Page, Avatar} from '../src';

export function Playground() {
  return (
    <Page title="Playground">
      <Avatar />
      <Avatar name="Hello World" />
      <Avatar initials="DB" />
      <Avatar accessibilityLabel="Hello World" />
    </Page>
  );
}
```

</details>

### 🎩 checklist

- [x] Tested on
[mobile](https://github.com/Shopify/polaris/blob/main/documentation/Tophatting.md#cross-browser-testing)
- [x] Tested on [multiple
browsers](https://help.shopify.com/en/manual/shopify-admin/supported-browsers)
- [x] Tested for
[accessibility](https://github.com/Shopify/polaris/blob/main/documentation/Accessibility%20testing.md)
- [ ] Updated the component's `README.md` with documentation changes
- [ ] [Tophatted
documentation](https://github.com/Shopify/polaris/blob/main/documentation/Tophatting%20documentation.md)
changes in the style guide

---------

Co-authored-by: Chloe Rice <chloerice@users.noreply.github.com>
juzser pushed a commit to juzser/polaris that referenced this pull request Jul 27, 2023
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @shopify/polaris-icons@7.2.0

### Minor Changes

- [Shopify#9581](Shopify#9581)
[`991d9fe69`](Shopify@991d9fe)
Thanks [@Rusty-UX](https://github.com/Rusty-UX)! - Added BoldMajor,
BoldMinor, IndentMajor, IndentMinor, ItalicMajor, ItalicMinor,
OrderedListMajor, OrderedListMinor, OutdentMajor, OutdentMinor,
TextColorMajor, TextColorMinor, UnderlineMajor, UnderlineMinor icons


- [Shopify#9580](Shopify#9580)
[`75f08f32c`](Shopify@75f08f3)
Thanks [@kyledurand](https://github.com/kyledurand)! - Added optimize
script

## @shopify/polaris@11.3.1

### Patch Changes

- [Shopify#9556](Shopify#9556)
[`c72d2f905`](Shopify@c72d2f9)
Thanks [@aaronccasanova](https://github.com/aaronccasanova)! -
Restructured `Select` override selectors to patch Sass compilation issue


- [Shopify#9031](Shopify#9031)
[`795ae3782`](Shopify@795ae37)
Thanks [@danbrady](https://github.com/danbrady)! - Added support for
`Avatar` being presentational

- Updated dependencies
\[[`991d9fe69`](Shopify@991d9fe),
[`75f08f32c`](Shopify@75f08f3)]:
    -   @shopify/polaris-icons@7.2.0

## @shopify/polaris-cli@0.2.10



## polaris.shopify.com@0.55.8

### Patch Changes

- Updated dependencies
\[[`c72d2f905`](Shopify@c72d2f9),
[`795ae3782`](Shopify@795ae37),
[`991d9fe69`](Shopify@991d9fe),
[`75f08f32c`](Shopify@75f08f3)]:
    -   @shopify/polaris@11.3.1
    -   @shopify/polaris-icons@7.2.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AnnaCheba pushed a commit to AnnaCheba/polaris that referenced this pull request Apr 22, 2024
<!--
  ☝️How to write a good PR title:
- Prefix it with [ComponentName] (if applicable), for example: [Button]
  - Start with a verb, for example: Add, Delete, Improve, Fix…
  - Give as much context as necessary and as little as possible
  - Prefix it with [WIP] while it’s a work in progress
-->

### WHY are these changes introduced?

Update Avatar to allow its accessibility role to be presentational. This
is ideal when the Avatar is supported by content that gives it context.
(Ex. In a Users list when a name is supplied, the Avatar can be
presentational and does not need a label.)

Fixes Shopify#1925


### WHAT is this pull request doing?

<!--
  Summary of the changes committed.

Before / after screenshots are appreciated for UI changes. Make sure to
include alt text that describes the screenshot.

If you include an animated gif showing your change, wrapping it in a
details tag is recommended. Gifs usually autoplay, which can cause
accessibility issues for people reviewing your PR:

    <details>
      <summary>Summary of your gif(s)</summary>
      <img src="..." alt="Description of what the gif shows">
    </details>
-->

Avatar detects if an `accessibilityLabel`, `name`, or `initials` are
passed and uses that to create an Avatar with a corresponding label and
`img` role. If none of those props are passed, an i18n string "Avatar"
is used as the label and continues to use the `img` role. This PR
removes that "Avatar" accessibility label, and the role becomes
`presentation`.


<!--
  Give as much information as needed to experiment with the component
  in the playground.
-->

<details>
<summary>Copy-paste this code in
<code>playground/Playground.tsx</code>:</summary>

```jsx
import React from 'react';
import {Page, Avatar} from '../src';

export function Playground() {
  return (
    <Page title="Playground">
      <Avatar />
      <Avatar name="Hello World" />
      <Avatar initials="DB" />
      <Avatar accessibilityLabel="Hello World" />
    </Page>
  );
}
```

</details>

### 🎩 checklist

- [x] Tested on
[mobile](https://github.com/Shopify/polaris/blob/main/documentation/Tophatting.md#cross-browser-testing)
- [x] Tested on [multiple
browsers](https://help.shopify.com/en/manual/shopify-admin/supported-browsers)
- [x] Tested for
[accessibility](https://github.com/Shopify/polaris/blob/main/documentation/Accessibility%20testing.md)
- [ ] Updated the component's `README.md` with documentation changes
- [ ] [Tophatted
documentation](https://github.com/Shopify/polaris/blob/main/documentation/Tophatting%20documentation.md)
changes in the style guide

---------

Co-authored-by: Chloe Rice <chloerice@users.noreply.github.com>
ascherkus pushed a commit to ascherkus/polaris that referenced this pull request Feb 19, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @shopify/polaris-icons@7.2.0

### Minor Changes

- [Shopify#9581](Shopify#9581)
[`991d9fe69`](Shopify@a847d9c)
Thanks [@Rusty-UX](https://github.com/Rusty-UX)! - Added BoldMajor,
BoldMinor, IndentMajor, IndentMinor, ItalicMajor, ItalicMinor,
OrderedListMajor, OrderedListMinor, OutdentMajor, OutdentMinor,
TextColorMajor, TextColorMinor, UnderlineMajor, UnderlineMinor icons


- [Shopify#9580](Shopify#9580)
[`75f08f32c`](Shopify@01fb273)
Thanks [@kyledurand](https://github.com/kyledurand)! - Added optimize
script

## @shopify/polaris@11.3.1

### Patch Changes

- [Shopify#9556](Shopify#9556)
[`c72d2f905`](Shopify@0c270b0)
Thanks [@aaronccasanova](https://github.com/aaronccasanova)! -
Restructured `Select` override selectors to patch Sass compilation issue


- [Shopify#9031](Shopify#9031)
[`795ae3782`](Shopify@c68e956)
Thanks [@danbrady](https://github.com/danbrady)! - Added support for
`Avatar` being presentational

- Updated dependencies
\[[`991d9fe69`](Shopify@a847d9c),
[`75f08f32c`](Shopify@01fb273)]:
    -   @shopify/polaris-icons@7.2.0

## @shopify/polaris-cli@0.2.10



## polaris.shopify.com@0.55.8

### Patch Changes

- Updated dependencies
\[[`c72d2f905`](Shopify@0c270b0),
[`795ae3782`](Shopify@c68e956),
[`991d9fe69`](Shopify@a847d9c),
[`75f08f32c`](Shopify@01fb273)]:
    -   @shopify/polaris@11.3.1
    -   @shopify/polaris-icons@7.2.0

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Avatars are automatically considered to be non-presentational

2 participants