~alcinnz/rhapsode

ref: 3659b6d7e3757b42412ceb150d2dded1c67c1e1b rhapsode/src/DefaultCSS.hs -rw-r--r-- 3.6 KiB
3659b6d7 — Adrian Cochrane Merge branch 'master' of git.nzoss.org.nz:alcinnz/rhapsode 5 years ago
                                                                                
f592768d Adrian Cochrane
2adc7fb2 Adrian Cochrane
f592768d Adrian Cochrane
256c26c1 Adrian Cochrane
f592768d Adrian Cochrane
256c26c1 Adrian Cochrane
4d356592 Adrian Cochrane
df290308 Adrian Cochrane
4d356592 Adrian Cochrane
df290308 Adrian Cochrane
256c26c1 Adrian Cochrane
4d356592 Adrian Cochrane
f592768d Adrian Cochrane
8adde0e9 Adrian Cochrane
f592768d Adrian Cochrane
4d356592 Adrian Cochrane
97ae04ec Adrian Cochrane
256c26c1 Adrian Cochrane
f592768d Adrian Cochrane
5b9b03db Adrian Cochrane
f592768d Adrian Cochrane
df290308 Adrian Cochrane
f592768d Adrian Cochrane
5b9b03db Adrian Cochrane
2adc7fb2 Adrian Cochrane
4d356592 Adrian Cochrane
256c26c1 Adrian Cochrane
f592768d Adrian Cochrane
df290308 Adrian Cochrane
f592768d Adrian Cochrane
256c26c1 Adrian Cochrane
f592768d Adrian Cochrane
7157dd64 Adrian Cochrane
2adc7fb2 Adrian Cochrane
7157dd64 Adrian Cochrane
53b9d822 Adrian Cochrane
f592768d Adrian Cochrane
53b9d822 Adrian Cochrane
f592768d Adrian Cochrane
5b9b03db Adrian Cochrane
f592768d Adrian Cochrane
8adde0e9 Adrian Cochrane
f592768d Adrian Cochrane
8adde0e9 Adrian Cochrane
f592768d Adrian Cochrane
122e0974 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
module DefaultCSS(userAgentCSS) where

userAgentCSS = unlines [
  "head, link, meta, style, script, title, base {speak: never}",
  "datalist, template {speak: never}",
  "html {speak-as: normal no-punctuation}",
  "",
  "/** Forms **/",
  "button[type=button], input[type=button] {speak: never} /* Won't do anything without JS */",
  "",
  "button::before, input[type=reset]::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[placeholder] {content: attr(placeholder)}",
  "input[value], output[value] {content: attr(value)}",
  "text-area {speak-as: literal-punctuation}",
  "",
  "option {speak: never} option[checked] {speak: always}",
  "select[multiple] option {cue-before: url(bulletpoint.wav)}",
  "",
  "/** 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}",
  "nav {speak: never} /* Expose the links for navigation, but not narration */",
  "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}",
  "pre, samp, code {voice: neutral 2}",
  "a[href], :link {cue-before: url(link.wav); voice-pitch: low}",
  ":link:visited {cue-before: url(link.wav) -1db}",
  "img {voice-volume: soft; content: 'Image: ' attr(src)}",
  "img[alt] {content: 'Image: ' attr(alt)}",
  "",
  "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::before, dt::before, dd::before {content: 'd'} /* Since the cue-before isn't coming accross */",
  "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-ol}",
  "ol li::before {",
  "counter-increment: -rhaps-ol;",
  "content: counters(-rhaps-ol, ' ')",
  "}",
  "",
  "",
  "/** HTML6 **/",
  "abbr[title]::after {content: attr(title); voice-volume: x-soft}",
  "abbr {speak-as: spell-out}",
  "",
  "q, blockquote {voice-family: female 2}",
  "cite {voice-stress: reduce}",
  "dialog {speak: never} dialog[open] {speak: always}",
  "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}",
  "aside {voice-volume: soft}"
  ]