1. I think this is possible. It doesn't really have an explicit role at all. It's just a panel in this case, which I guess has an implicit `alert` role. However, as we'll see below, I'm not sure if we would gain anything in practice from this, because the callout is already focused when it is shown. 2. This probably isn't very practical, because feature callout is a generic template, and not all feature callouts have titles or content under the title. The content is basically arbitrary. And the feature callout itself can't know in advance what the content is going to be. While it would probably be feasible to set `aria-labelledby` to the title, if a title exists, there isn't a single element containing all the content under the title. That's a bunch of optional elements that may or may not exist and don't share an ancestor. So it's not really feasible to use ARIA attributes to announce the entire feature callout content. 3. That should be possible. 4. This is actually already how Feature Callout works. The first eligible button inside the callout is focused when the callout appears. This auto-focus behavior is working for me, and NVDA reads the focused button immediately. Maybe what we're supposed to be doing is moving focus to the main callout wrapper first, waiting a moment so NVDA can read it, then moving focus to the dismiss button. Instead, what we're currently doing is moving focus right to the dismiss button. So the callout wrapper is never focused, it just has focus within it. My understanding was that as long as focus is within the callout wrapper, it should be read correctly. But that doesn't seem to be what's happening. Instead, it just reads `alert`.
Bug 1841374 Comment 5 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
1. I think this is possible. It doesn't really have an explicit role at all. It's just a panel in this case, which I guess has an implicit `alert` role. However, as we'll see below, I'm not sure if we would gain anything in practice from this, because the callout is already focused when it is shown. 2. This probably isn't very practical, because feature callout is a generic template, and not all feature callouts have titles or content under the title. The content is basically arbitrary. And the feature callout itself can't know in advance what the content is going to be. While it would probably be feasible to set `aria-labelledby` to the title, if a title exists, there isn't a single element containing all the content under the title. That's a bunch of optional elements that may or may not exist and don't share an ancestor. So it's not really feasible to use ARIA attributes to announce the entire feature callout content. 3. That should be possible. 4. This is actually already how Feature Callout works. The first eligible button inside the callout is focused when the callout appears. This auto-focus behavior is working for me, and NVDA reads the focused button immediately. Maybe what we're supposed to be doing is moving focus to the main callout wrapper first, waiting a moment so NVDA can read it, then moving focus to the dismiss button. Instead, what we're currently doing is moving focus right to the dismiss button. So the callout wrapper is never focused, it just has focus within it. My understanding was that as long as focus is within the callout wrapper, it should be read correctly. But that doesn't seem to be what's happening. Instead, it just reads `button Close`.