From 3f10761894fd57dd53a57656052ce8b4cef2448e Mon Sep 17 00:00:00 2001 From: Adrian Cochrane Date: Thu, 11 Jul 2019 10:37:40 +1200 Subject: [PATCH] Draft a user agent CSS for me to test against. --- user-agent.css | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 user-agent.css diff --git a/user-agent.css b/user-agent.css new file mode 100644 index 0000000..9fa561e --- /dev/null +++ b/user-agent.css @@ -0,0 +1,81 @@ +head, link, meta, style, script, title {speak: never} +datalist {speak: never} + +/** Forms **/ +/* Hide buttons that don't do anything */ +button[type=button] {speak: never} +button[formaction] {speak: always} + +button::before {content: "Button"; pitch: high} +select::before, textarea::before, input::before {content: "Input"; pitch: high} +output::before {content: "Output"; pitch: high} +button, select, input, output {pitch: low} +input, output {content: attr(value)} + +option:not([checked]) {speak: never} +select[multiple] option {cue-before: url(bulletpoint.wav)} + +/* Forms themselves require a label in order to support navigation */ +form::before {content: "Form"} +form[action]::before {content: attr(action)} +form[alt]::before {content: attr(alt)} +form[title]::before {content: attr(title)} + +/** Tables **/ +table::before {content: "Table"; voice-volume: x-soft} +tr {cue-before: url(bulletpoint.wav)} +td, th {cue-before: url(bulletpoint.wav) -1db} +th::th /* Rhapsode-specific, selects inlined table headers */ {speak: never;} +table caption {voice-volume: soft} + +/** Sectioning **/ +footer, header {voice-volume: soft} +h1, h2, h3, h4, h5, h6, legend, caption, th {voice-stress: strong} +h1 {pause: x-strong; voice-rate: x-slow} +h2 {pause: strong; voice-rate: slow} +h3, caption, th, h3 {pause: medium; voice-rate: medium} +h4 {pause: weak; voice-rate: fast} +h5, h6 {pause: x-weak; voice-rate: fast} +h6 {pitch: high} + +/** Text **/ +hr {pause: x-strong} +p, pre {pause: strong} +pre, address {speak-as: literal-punctuation} + +:link {cue-before: url(link.wav); voice-rate: slow} +:link:visited {cue-before: url(link.wav) -1db} + +b, strong {voice-rate: x-slow} +i, em {voice-stress: strong} +br {pause: medium} +code {speak-as: literal-punctuation} +s, del {voice-volume: x-soft} +u {voice-volume: loud} + +/** lists **/ +li {cue-before: url(bulletpoint.wav); pause: strong} +li li {cue-before: url(bulletpoint.wav) -1db} +li li li {cue-before: url(bulletpoint.wav) -2db} +li li li li {cue-before: url(bulletpoint.wav) -3db} +li li li li li {cue-before: url(bulletpoint.wav) -4db} +li li li li li li {cue-before: url(bulletpoint.wav) -5db} + +ol {counter-reset: -rhaps-ol1} +ol ol {counter-reset: -rhaps-ol2} +ol ol ol {counter-reset: -rhaps-ol3} +ol ol ol ol {counter-reset: -rhaps-ol4} +ol ol ol ol ol {counter-reset: -rhaps-ol5} +ol ol ol ol ol ol {counter-reset -rhaps-ol6} +ol li::before {content: counter(-rhaps-ol1)} +ol ol li::before {content: counters(-rhaps-ol1, -rhaps-ol2)} +ol ol ol li::before {content: counters(-rhaps-ol1, -rhaps-ol2, -rhaps-ol3)} +ol ol ol ol li::before { + content: counters(-rhaps-ol1, -rhaps-ol2, -rhaps-ol3, -rhaps-ol4) +} +ol ol ol ol ol li::before { + content: counters(-rhaps-ol1, -rhaps-ol2, -rhaps-ol3, -rhaps-ol4, -rhaps-ol5) +} +ol ol ol ol ol ol li::before { + content: counters(-rhaps-ol1, -rhaps-ol2, -rhaps-ol3, -rhaps-ol4, -rhaps-ol5, -rhaps-ol6) +} \ No newline at end of file -- 2.30.2