~alcinnz/rhapsode

ref: df2903089cd5932fe1e5106012a2faf6c6bb0113 rhapsode/src/DefaultCSS.hs -rw-r--r-- 4.1 KiB
df290308 — Adrian Cochrane Refine useragent CSS to use less 'voice-rate: x-slow' and more 'voice-pitch'. 5 years ago
                                                                                
f592768d Adrian Cochrane
4d356592 Adrian Cochrane
df290308 Adrian Cochrane
4d356592 Adrian Cochrane
df290308 Adrian Cochrane
53b9d822 Adrian Cochrane
4d356592 Adrian Cochrane
f592768d Adrian Cochrane
53b9d822 Adrian Cochrane
f592768d Adrian Cochrane
4d356592 Adrian Cochrane
53b9d822 Adrian Cochrane
f592768d Adrian Cochrane
4d356592 Adrian Cochrane
f592768d Adrian Cochrane
4d356592 Adrian Cochrane
f592768d Adrian Cochrane
df290308 Adrian Cochrane
f592768d Adrian Cochrane
df290308 Adrian Cochrane
4d356592 Adrian Cochrane
f592768d Adrian Cochrane
df290308 Adrian Cochrane
f592768d Adrian Cochrane
53b9d822 Adrian Cochrane
f592768d Adrian Cochrane
53b9d822 Adrian Cochrane
f592768d Adrian Cochrane
53b9d822 Adrian Cochrane
f592768d Adrian Cochrane
53b9d822 Adrian Cochrane
f592768d Adrian Cochrane
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
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';",
  "        voice-pitch: high;",
  "}",
  "select::before, textarea::before, input::before {content: 'Input'; voice-pitch: high}",
  "output::before {content: 'Output'; voice-pitch: high}",
  "text-area, button, select, input, output {voice-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 {voice-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-pitch: low}",
  ":link:visited {cue-before: url(link.wav) -1db}",
  "",
  "b, strong {voice-rate: 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}"
  ]