Figure & figcaption tests

Note: there are no special keys to navigate by figure or figcaptions.

All tests performed with default screen reader settings.

Note: Some failures may rectify themselves if screen reader settings are modified to announce all images. E.g. Test 2 results for Chrome + JAWS will change.

Pass means the each test's expected announcement was made.

Fail means that no figure semantics were exposed, unless otherwise noted.

Test 1

Accessible Name
Content caption.
Pattern notes:

Image has non-empty alt attribute.

Expected announcement:
Should announce figure role with "Content caption" as the accessible name.

NVDA (2018.4.1) JAWS 18 JAWS (2018) JAWS (2019) VO (Mac 10.14) VO (iOS 12.1) TalkBack (7.2) Narrator
Firefox Android (63.0.2) na na na na na na fail na
Firefox (64.0.2) fail na pass pass na na na na
IE (11) fail fail fail fail na na na na
Safari (12.0.2) na na na na pass na na na
Safari (iOS 12.1.2 na na na na na fail na na
Chrome (71.0) fail pass pass pass fail fail na na
Chrome Android (70.0) na na na na na na fail
Edge (42) fail fail fail fail
na na na no announced role,
but relationship made

Test 2

Content caption.
Pattern notes:

Image has no declared alt attribute.

Note: Image "should" announce as "earth.jpg" but screen readers may ignore.

Expected announcement:
Should announce figure role with "Content caption" as the accessible name.

Note: Image "should" announce as "earth.jpg" but screen readers may ignore.

NVDA (2018.4.1) JAWS 18 JAWS (2018) JAWS (2019) VO (Mac 10.14) VO (iOS 12.1) TalkBack (7.2) Narrator
Firefox Android (63.0.2) na na na na na na fail na
Firefox (64.0.2) fail na pass pass na na na na
IE (11) fail fail fail fail na na na na
Safari (12.0.2) na na na na pass na na na
Safari (iOS 12.1.2 na na na na na fail na na
Chrome (71.0) fail fail (all content ignored!) fail (all content ignored!) fail (all content ignored!)
fail fail na na
Chrome Android (70.0) na na na na na na fail
Edge (42) fail fail fail fail na na na no announced role,
but relationship made

Test 3

Content caption.
Pattern notes:

Image has empty alt attribute.

Expected announcement:
Should announce figure role with "Content caption" as the accessible name.

Note: Image "should" be ignored.

NVDA (2018.4.1) JAWS 18 JAWS (2018) JAWS (2019) VO (Mac 10.14) VO (iOS 12.1) TalkBack (7.2) Narrator
Firefox Android (63.0.2) na na na na na na fail na
Firefox (64.0.2) fail na pass pass na na na na
IE (11) fail fail fail fail na na na na
Safari (12.0.2) na na na na pass na na na
Safari (iOS 12.1.2 na na na na na fail na na
Chrome (71.0) fail fail (all content ignored!) fail (all content ignored!) fail (all content ignored!)
fail fail na na
Chrome Android (70.0) na na na na na na fail
Edge (42) fail fail fail fail na na na fail (all content ignored!)

Test 4

Content caption.
Pattern notes:

<figure> has aria-label. Image has empty alt attribute.

Expected announcement:
Should announce figure role with "ARIA label" as the accessible name.

Note: Image should be ignored.

NVDA (2018.4.1) JAWS 18 JAWS (2018) JAWS (2019) VO (Mac 10.14) VO (iOS 12.1) TalkBack (7.2) Narrator
Firefox Android (63.0.2) na na na na na na fail na
Firefox (64.0.2) fail na pass pass na na na na
IE (11) fail fail fail fail na na na na
Safari (12.0.2) na na na na pass na na na
Safari (iOS 12.1.2 na na na na na fail na na
Chrome (71.0) fail pass pass pass pass fail na na
Chrome Android (70.0) na na na na na na fail
Edge (42) fail fail fail fail na na na no announced role,
but relationship made

Test 5

Accessible Name
Content caption.
Pattern notes:

<figure> has aria-label. Image has non-empty alt attribute.

Expected announcement:
Should announce figure role with "ARIA label" as the accessible name.

NVDA (2018.4.1) JAWS 18 JAWS (2018) JAWS (2019) VO (Mac 10.14) VO (iOS 12.1) TalkBack (7.2) Narrator
Firefox Android (63.0.2) na na na na na na fail na
Firefox (64.0.2) fail na pass pass na na na na
IE (11) fail fail fail fail na na na na
Safari (12.0.2) na na na na pass na na na
Safari (iOS 12.1.2 na na na na na fail na na
Chrome (71.0) fail pass pass pass pass
fail na na
Chrome Android (70.0) na na na na na na fail
Edge (42) fail fail fail fail na na na no announced role,
but relationship made

Test 6

Accessible Name
Pattern notes:

<figure> without figcaption. Image has non-empty alt attribute.

Expected announcement:
Should announce figure role with no accessible name.

NVDA (2018.4.1) JAWS 18 JAWS (2018) JAWS (2019) VO (Mac 10.14) VO (iOS 12.1) TalkBack (7.2) Narrator
Firefox Android (63.0.2) na na na na na na fail na
Firefox (64.0.2) fail na pass pass na na na na
IE (11) fail fail fail fail na na na na
Safari (12.0.2) na na na na fail na na na
Safari (iOS 12.1.2 na na na na na fail na na
Chrome (71.0) fail pass
pass pass fail fail na na
Chrome Android (70.0) na na na na na na fail
Edge (42) fail fail fail fail na na na fail

Test 7

Accessible Name
Content caption.
Pattern notes:

<figure> has aria-labelledby pointing to the figcaption. Image has non-empty alt attribute.

Expected announcement:
Should announce figure role with "Content caption" as the accessible name.

NVDA (2018.4.1) JAWS 18 JAWS (2018) JAWS (2019) VO (Mac 10.14) VO (iOS 12.1) TalkBack (7.2) Narrator
Firefox Android (63.0.2) na na na na na na fail na
Firefox (64.0.2) fail na pass pass na na na na
IE (11) fail fail fail fail na na na na
Safari (12.0.2) na na na na pass na na na
Safari (iOS 12.1.2 na na na na na fail na na
Chrome (71.0) fail pass pass pass fail fail na na
Chrome Android (70.0) na na na na na na fail
Edge (42) fail fail fail fail na na na no announced role,
but relationship made

Test 8

Accessible Name
Content caption.
Pattern notes:

<figure> has role="figure". Image has non-empty alt attribute.

Expected announcement:
Should announce figure role with "Content caption" as the accessible name.

NVDA (2018.4.1) JAWS 18 JAWS (2018) JAWS (2019) VO (Mac 10.14) VO (iOS 12.1) TalkBack (7.2) Narrator
Firefox Android (63.0.2) na na na na na na fail na
Firefox (64.0.2) fail na pass pass na na na na
IE (11) fail fail (figure exposed but no accessible name) fail (figure exposed but no accessible name) fail (figure exposed but no accessible name) na na na na
Safari (12.0.2) na na na na pass na na na
Safari (iOS 12.1.2 na na na na na fail na na
Chrome (71.0) fail pass pass pass fail fail na na
Chrome Android (70.0) na na na na na na fail
Edge (42) fail fail fail fail na na na no announced role,
but relationship made

Test 9

Accessible Name
Content caption.
Pattern notes:

<figure> has role="figure" and aria-labelledby pointing to the figcaption. Image has non-empty alt attribute.

Expected announcement:
Should announce figure role with "Content caption" as the accessible name.

NVDA (2018.4.1) JAWS 18 JAWS (2018) JAWS (2019) VO (Mac 10.14) VO (iOS 12.1) TalkBack (7.2) Narrator
Firefox Android (63.0.2) na na na na na na fail na
Firefox (64.0.2) fail na pass pass na na na na
IE (11) fail pass pass pass na na na na
Safari (12.0.2) na na na na pass na na na
Safari (iOS 12.1.2 na na na na na fail na na
Chrome (71.0) fail pass
pass pass fail fail na na
Chrome Android (70.0) na na na na na na fail
Edge (42) fail fail fail fail na na na no announced role,
but relationship made

Test 10

Accessible Name
Content caption.
Pattern notes:

<figure> has role="figure" and aria-label. Image has non-empty alt attribute.

Expected announcement:
Should announce figure role with "ARIA label" as the accessible name.

NVDA (2018.4.1) JAWS 18 JAWS (2018) JAWS (2019) VO (Mac 10.14) VO (iOS 12.1) TalkBack (7.2) Narrator
Firefox Android (63.0.2) na na na na na na fail na
Firefox (64.0.2) fail na pass pass na na na na
IE (11) fail pass pass pass na na na na
Safari (12.0.2) na na na na pass na na na
Safari (iOS 12.1.2 na na na na na fail na na
Chrome (71.0) fail pass pass pass pass fail na na
Chrome Android (70.0) na na na na na na fail
Edge (42) fail fail fail fail na na na no announced role,
but relationship made

Test 11

Non-image figure content

Content caption.
Pattern notes:

<figure> with a paragraph as its subject. A <figcaption> should provide the accessible name.

Expected announcement:
Should announce figure role with "Content caption." as the accessible name.

NVDA (2018.4.1) JAWS 18 JAWS (2018) JAWS (2019) VO (Mac 10.14) VO (iOS 12.1) TalkBack (7.2) Narrator
Firefox Android (63.0.2) na na na na na na fail na
Firefox (64.0.2) fail na pass pass na na na na
IE (11) fail fail fail fail na na na na
Safari (12.0.2) na na na na pass na na na
Safari (iOS 12.1.2 na na na na na fail na na
Chrome (71.0) fail pass pass pass fail fail na na
Chrome Android (70.0) na na na na na na fail
Edge (42) fail fail fail fail na na na no announced role,
but relationship made

Test 12

Non-image figure content

Pattern notes:

<figure> with a paragraph as its subject. No <figcaption>.

Expected announcement:
Should announce figure role with no accessible name.

NVDA (2018.4.1) JAWS 18 JAWS (2018) JAWS (2019) VO (Mac 10.14) VO (iOS 12.1) TalkBack (7.2) Narrator
Firefox Android (63.0.2) na na na na na na fail na
Firefox (64.0.2) fail na pass pass na na na na
IE (11) fail fail fail fail na na na na
Safari (12.0.2) na na na na fail na na na
Safari (iOS 12.1.2 na na na na na fail na na
Chrome (71.0) fail pass pass pass fail fail na na
Chrome Android (70.0) na na na na na na fail
Edge (42) fail fail fail fail na na na fail

Test 13

Non-image figure content

Pattern notes:

<figure> with an aria-label which should provide its accessible name.

Expected announcement:
Should announce figure role with "ARIA label" as the accessible name.

NVDA (2018.4.1) JAWS 18 JAWS (2018) JAWS (2019) VO (Mac 10.14) VO (iOS 12.1) TalkBack (7.2) Narrator
Firefox Android (63.0.2) na na na na na na fail na
Firefox (64.0.2) fail na pass pass na na na na
IE (11) fail fail fail fail na na na na
Safari (12.0.2) na na na na pass
na na na
Safari (iOS 12.1.2 na na na na na fail na na
Chrome (71.0) fail pass pass pass pass fail na na
Chrome Android (70.0) na na na na na na fail
Edge (42) fail fail fail fail na na na no announced role,
but relationship made