Notice: This is a work in progress. Please submit feedback or suggestions.

Test: HTML label with CSS generated content

Screen Reader support level: partial (9/10)

Voice Control support level: partial (1/4)

This test uses ::before and ::after pseudo classes to add content to a label

Run this test and and submit your results

On this page

Test HTML

open the test page
<!DOCTYPE html>
<html lang="en">
<head>
    <title>HTML label element with css content</title>
    <style>
        #label::before {
            content: 'This '
        }

        #label::after {
            content: ' content'
        }
    </style>
</head>
<body>
    <p>Before target</p>
    <label for="target" id="label">is generated</label>
    <input type="text" id="target" />
    <p>After target</p>
</body>
</html>

Dates and Versions of tested combinations

ATAT VersionBrowserBrowser versionOS versionDate tested
Dragon Naturally Speaking15.30Google Chrome70.018092018-11-15
JAWS2019.1906.10Google Chrome7519032019-07-10
JAWS2019.1906.10Internet Explorer1119032019-07-10
JAWS2019.1606.10Firefox (desktop)6719032019-07-10
Narrator1903Microsoft Edge4419032019-07-10
NVDA2019.1.1Google Chrome7519032019-07-10
NVDA2019.1.1Firefox (desktop)6019032019-07-10
Orca3.31.4Firefox (desktop)69Ubuntu 19.042019-09-14
TalkBack6.2Google Chrome (android)678.12018-07-21
Voice Access for Android3.1Google Chrome (android)7772019-10-02
Voice Control for iOS13.0Safari (iOS)13.013.02019-09-23
Voice Control for MacOS10.15Safari (macOS)13.0.210.152019-10-07
VoiceOver for iOS12.3.1Safari (iOS)12.3.112.3.12019-07-10
VoiceOver for macOS10.14.5Safari (macOS)12.1.110.13.52019-07-10

Summary of Screen Reader support by expectation

ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver for iOSVoiceOver for macOS
generated content
MUST CSS generated content MUST be included as part of the accessible namepartial (2/3)supportedsupportedsupportedsupportedsupportedsupported

* means that some support is hidden behind settings

Summary of Voice Control support by expectation

ExpectationDragon Naturally SpeakingVoice Access for AndroidVoice Control for iOSVoice Control for MacOS
generated content
MUST CSS generated content MUST be included as part of the accessible namenoneunknownpartialsupported

* means that some support is hidden behind settings

Detailed support results by expectation

Expectation for the generated content: CSS generated content MUST be included as part of the accessible name

Strength of these expectations for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: MUST

Grading method: Just one of the listed commands must pass for the expectation to pass.

This expectation is from the generated content feature.

ATBrowserHas SupportOutputAction
Dragon Naturally SpeakingGoogle Chromenone
  • Result: (fail)
    • command: "Click <text>" (Activate item by name)
    • Output: (input was not focused)
More information
JAWSGoogle Chromeyes
  • Result: (pass)
    • command: Down arrow (Read next item)
    • Output: "This is generated content"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • Output: "This is generated content, edit, type in text"
More information
JAWSInternet Explorernone
  • Result: (fail)
    • command: Down arrow (Read next item)
    • Output: "is generated"
  • Result: (fail)
    • command: Tab (Read next focusable item)
    • Output: "is generated"
More information
JAWSFirefox (desktop)yes
  • Result: (pass)
    • command: Down arrow (Read next item)
    • Output: "This is generated content, clickable"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • Output: "This is generated content, edit"
More information
NarratorMicrosoft Edgeyes
  • Result: (pass)
    • command: Down arrow (Read next item (scan mode))
    • Output: "This is generated content, edit"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • Output: "This is generated content, edit"
More information
NVDAGoogle Chromeyes
  • Result: (pass)
    • command: down arrow (Read next item)
    • Output: "This is generated content, edit"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • Output: "This is generated content, edit, blank"
More information
NVDAFirefox (desktop)yes
  • Result: (pass)
    • command: down arrow (Read next item)
    • Output: "This is generated content, clickable"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • Output: "This is generated content, edit, blank"
More information
OrcaFirefox (desktop)yes
  • Result: (pass)
    • command: down arrow (Read next item)
    • Output: "This is generated content, entry"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • Output: "This is generated content, entry, focus mode"
More information
TalkBackGoogle Chrome (android)yes
  • Result: (pass)
    • command: Swipe right (Read next item)
    • Output: "This is generated content, edit"
More information
Voice Access for AndroidGoogle Chrome (android)unknown
  • Result: (unknown)
    • command: "Tap <text>" or just "<text>" (Activate item by name)
    • Output: button was not activated
    • Notes: said "tap this is generated content". VA does not support HTML form labels, so it is not known if this result is due to lack of CSS generated content support or lack of HTML form label support.
More information
Voice Control for iOSSafari (iOS)partial
  • Result: (partial)
    • command: "Tap <text>" (Activate item by name)
    • Output: 3 names were created, "this", "is generated", and "content".
    • Notes: said "show names" and 3 names were displayed, while 1 is expected. said "tap this is generated content" and the command failed. said "tap content" and the command passed. said "tap is generated" and the command passed.
More information
Voice Control for MacOSSafari (macOS)yes
  • Result: (pass)
    • command: "Click <text>" (Activate item by name)
    • Output: input was focused
    • Notes: said "click this is generated content"
More information
VoiceOver for iOSSafari (iOS)yes
  • Result: (pass)
    • command: Swipe Right (Next item)
    • Output: "This is generated content, text field"
More information
VoiceOver for macOSSafari (macOS)yes
  • Result: (pass)
    • command: VO + Right arrow (Read next item)
    • Output: "This is generated content, edit text"
  • Result: (pass)
    • command: Tab (Read next focusable item)
    • Output: "This is generated content, edit text"
More information

Extended Support for: generated content: CSS generated content MUST be included as part of the accessible name

These are less common combinations

ATBrowserHas SupportOutputAction
Dragon Naturally Speaking 15.30Internet Explorer 11.134none
  • Result: (fail)
    • command: "Click <text>" (Activate item by name)
    • Output: (input was not focused)
More information
Dragon Naturally Speaking 15.30Firefox (desktop) 63.0.1none
  • Result: (fail)
    • command: "Click <text>" (Activate item by name)
    • Output: (input was not focused)
More information
JAWS 2019.1906.10Microsoft Edge 44none
  • Result: (fail)
    • command: Down arrow (Read next item)
    • Output: "This is generated content"
  • Result: (fail)
    • command: Tab (Read next focusable item)
    • Output: "This is generated content, edit"
More information
NarratorFirefox (desktop)unknown-More information
NarratorGoogle Chromeunknown-More information
NarratorInternet Explorerunknown-More information
NVDAInternet Explorerunknown-More information
NVDAMicrosoft Edgeunknown-More information
TalkBackFirefox (Android)unknown-More information
Voice Access for AndroidFirefox (Android)unknown-More information
VoiceOver for iOSGoogle Chrome (ios)unknown-More information
VoiceOver for macOSGoogle Chromeunknown-More information
VoiceOver for macOSFirefox (desktop)unknown-More information
OrcaGoogle Chromeunknown-More information
Voice Control for MacOSGoogle Chromeunknown-More information
Voice Control for MacOSFirefox (desktop)unknown-More information
Back to top

History

  • 2018-07-06 Sample data has been added. This data has not been verified.
  • 2018-11-15 dragon_win/firefox support updated
  • 2018-11-15 dragon_win/chrome support updated
  • 2018-11-15 dragon_win/ie support updated
  • 2018-12-17 Removed the passing 'next focusable item' commands because we are testing CSS generated content, not the HTML input element.
  • 2019-02-24 jaws/firefox support updated
  • 2019-03-21 jaws/ie updated with latest versions
  • 2019-09-14 Orca results added
  • 2019-09-23 Added vc_ios results
  • 2019-10-02 Add va_and results
  • 2019-10-07 Add vc_macos results