@@ 0,0 1,107 @@
+module DefaultCSS(userAgentCSS) where
+
+userAgentCSS = unlines [
+ "head, link, meta, style, script, title, base {speak: never}",
+ "datalist, template {speak: never}",
+ "",
+ "/** Forms **/",
+ "/* Hide buttons that don't do anything */",
+ "button[type=button] {speak: never}",
+ "button[formaction] {speak: always}",
+ "",
+ "button::before, input[type=button]::before, input[type=submit]::before {",
+ " content: 'Button';",
+ " pitch: high;",
+ "}",
+ "select::before, textarea::before, input::before {content: 'Input'; pitch: high}",
+ "output::before {content: 'Output'; pitch: high}",
+ "text-area, button, select, input, output {pitch: low}",
+ "input, output {content: attr(value)}",
+ "text-area {speak-as: literal-punctuation}",
+ "",
+ "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, th, summary, dt {voice-stress: strong}",
+ "h1 {pause: x-strong; voice-rate: x-slow}",
+ "h2 {pause: strong; voice-rate: slow}",
+ "h3, th, summary, legend, dt {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, samp, blockquote {pause: strong}",
+ "pre, address, samp {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, ins {voice-volume: loud}",
+ "",
+ "/** lists **/",
+ "li, dt, dd {cue-before: url(bulletpoint.wav); pause: strong}",
+ "li li, dd dt, dd dd {cue-before: url(bulletpoint.wav) -1db}",
+ "li li li, dd dd dt, dd dd dd {cue-before: url(bulletpoint.wav) -2db}",
+ "li li li li, dd dd dd dt, dd dd dd dd {cue-before: url(bulletpoint.wav) -3db}",
+ "li li li li li, dd dd dd dd dt, dd dd dd dd dd {",
+ " cue-before: url(bulletpoint.wav) -4db",
+ "}",
+ "li li li li li li, dd dd dd dd dd dt, dd dd dd dd dd dd {",
+ " 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)",
+ "}",
+ "",
+ "",
+ "/** HTML6 **/",
+ "abbr[title]::after {content: attr(title); voice-volume: x-soft}",
+ "abbr {speak-as: spell-out}",
+ "",
+ "q, blockquote {voice-family: neutral 2}",
+ "cite {voice-stress: reduce}",
+ "dialog:not([open]) {speak: never}",
+ "kbd {speak-as: spell-out}",
+ "progress {content: attr(value) 'of' attr(max)}",
+ "sub {voice-rate: x-fast}",
+ "sup {voice-rate: fast}",
+ "var {voice-rate: slow}"
+ ]