Candidate Recommendation Draft · css-speech

CSS Speech

19 properties defined by this specification, 2 of them known to at least one browser (the others are badged Not in any browser yet).

Each feature in detail

cue

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

<'cue-before'> <'cue-after'>?

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
see individual properties
Applies to
all elements
Inherited
no
Percentages
N/A
Computed value
see individual properties
Canonical order
per grammar
Animation type
see individual properties
Longhands
cue-before, cue-after

cue-after

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

<url> <decibel>? | none

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
none
Applies to
all elements
Inherited
no
Percentages
N/A
Computed value
specified value
Canonical order
per grammar
Animation type
by computed value type

cue-before

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

<url> <decibel>? | none

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
none
Applies to
all elements
Inherited
no
Percentages
N/A
Computed value
specified value
Canonical order
per grammar
Animation type
by computed value type

pause

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

<'pause-before'> <'pause-after'>?

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
see individual properties
Applies to
all elements
Inherited
no
Percentages
N/A
Computed value
see individual properties
Canonical order
per grammar
Animation type
see individual properties
Longhands
pause-before, pause-after

pause-after

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

<time [0s,∞]> | none | x-weak | weak | medium | strong | x-strong

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
none
Applies to
all elements
Inherited
no
Percentages
N/A
Computed value
specified value
Canonical order
per grammar
Animation type
by computed value type

pause-before

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

<time [0s,∞]> | none | x-weak | weak | medium | strong | x-strong

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
none
Applies to
all elements
Inherited
no
Percentages
N/A
Computed value
specified value
Canonical order
per grammar
Animation type
by computed value type

rest

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

<'rest-before'> <'rest-after'>?

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
see individual properties
Applies to
all elements
Inherited
no
Percentages
N/A
Computed value
see individual properties
Canonical order
per grammar
Animation type
see individual properties
Longhands
rest-before, rest-after

rest-after

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

<time [0s,∞]> | none | x-weak | weak | medium | strong | x-strong

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
none
Applies to
all elements
Inherited
no
Percentages
N/A
Computed value
specified value
Canonical order
per grammar
Animation type
by computed value type

rest-before

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

<time [0s,∞]> | none | x-weak | weak | medium | strong | x-strong

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
none
Applies to
all elements
Inherited
no
Percentages
N/A
Computed value
specified value
Canonical order
per grammar
Animation type
by computed value type

speak

Property Limited availability

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

auto | never | always

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
auto
Applies to
all elements
Inherited
yes
Percentages
N/A
Computed value
specified value
Canonical order
per grammar
Animation type
discrete

Browser support

First browser version supporting speak
Chrome ≤80
Edge ≤80
Firefox No
Safari No
Chrome Android ≤80
Safari iOS No

First version with support, from MDN browser-compat-data.

speak-as

Property Baseline: widely availablesince March 2026 Modern CSS: @counter-style

MDN The speak-as descriptor specifies how a counter symbol constructed with a given will be represented in the spoken form. For example, an author can specify a counter symbol to be either spoken as its numerical value or just represented with an audio cue.

Live preview Example from MDN
@counter-style speak-as-example {
  system: fixed;
  symbols:     ;
  suffix: " ";
  speak-as: numbers;
}

.list {
  list-style: speak-as-example;
}

Syntax

normal | spell-out || digits || [ literal-punctuation | no-punctuation ]

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
normal
Applies to
all elements
Inherited
yes
Percentages
N/A
Computed value
specified value
Canonical order
per grammar
Animation type
discrete

Browser support

First browser version supporting speak-as
Chrome 91
Edge 91
Firefox 33
Safari No
Chrome Android 91
Safari iOS No

First version with support, from MDN browser-compat-data.

voice-balance

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

<number> | left | center | right | leftwards | rightwards

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
center
Applies to
all elements
Inherited
yes
Percentages
N/A
Computed value
the specified value resolved to a <number> between -100 and 100 (inclusive)
Canonical order
per grammar
Animation type
by computed value type

voice-duration

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

auto | <time [0s,∞]>

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
auto
Applies to
all elements
Inherited
no
Percentages
N/A
Computed value
specified value
Canonical order
per grammar
Animation type
by computed value type

voice-family

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

[ <voice-family-name> | <generic-voice> ]# | preserve

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
implementation-dependent
Applies to
all elements
Inherited
yes
Percentages
N/A
Computed value
specified value
Canonical order
per grammar
Animation type
discrete

voice-pitch

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

<frequency [0Hz,∞]> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency [0Hz,∞]> | <semitones> | <percentage> ] ]

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
medium
Applies to
all elements
Inherited
yes
Percentages
refer to inherited value
Computed value
one of the predefined pitch keywords if only the keyword is specified by itself, otherwise an absolute frequency calculated by converting the keyword value (if any) to a fixed frequency based on the current voice-family and by applying the specified relative offset (if any)
Canonical order
per grammar
Animation type
by computed value type

voice-range

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

<frequency [0Hz,∞]> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency [0Hz,∞]> | <semitones> | <percentage> ] ]

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
medium
Applies to
all elements
Inherited
yes
Percentages
refer to inherited value
Computed value
one of the predefined pitch keywords if only the keyword is specified by itself, otherwise an absolute frequency calculated by converting the keyword value (if any) to a fixed frequency based on the current voice-family and by applying the specified relative offset (if any)
Canonical order
per grammar
Animation type
by computed value type

voice-rate

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

[ normal | x-slow | slow | medium | fast | x-fast ] || <percentage [0,∞]>

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
normal
Applies to
all elements
Inherited
yes
Percentages
refer to default value
Computed value
a keyword value, and optionally also a percentage relative to the keyword (if not 100%)
Canonical order
per grammar
Animation type
by computed value type

voice-stress

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

normal | strong | moderate | none | reduced

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
normal
Applies to
all elements
Inherited
yes
Percentages
N/A
Computed value
specified value
Canonical order
per grammar
Animation type
discrete

voice-volume

Property Not in any browser yet

No prose in the spec's definition and no MDN page yet: the spec link below is the only description.

Syntax

silent | [ [ x-soft | soft | medium | loud | x-loud ] || <decibel> ]

Formal grammar from the specification, as webref extracts it: the latest level's definition, sometimes ahead of what browsers implement.

Definition

Initial
medium
Applies to
all elements
Inherited
yes
Percentages
N/A
Computed value
silent, or a keyword value and optionally also a decibel offset (if not zero)
Canonical order
per grammar
Animation type
by computed value type