~alcinnz/rhapsode

ref: ec796896bb8b26a9704a742cb521ad481d0d69ab rhapsode/src/DefaultCSS.hs -rw-r--r-- 4.1 KiB
ec796896 — Adrian Cochrane Integrate stylizer, fix/silence errors. 5 years ago
                                                                                
f592768d Adrian Cochrane
ec796896 Adrian Cochrane
f592768d Adrian Cochrane
ec796896 Adrian Cochrane
f592768d Adrian Cochrane
ec796896 Adrian Cochrane
f592768d Adrian Cochrane
ec796896 Adrian Cochrane
f592768d Adrian Cochrane
ec796896 Adrian Cochrane
f592768d Adrian Cochrane
ec796896 Adrian Cochrane
f592768d Adrian Cochrane
ec796896 Adrian Cochrane
f592768d Adrian Cochrane
ec796896 Adrian Cochrane
f592768d Adrian Cochrane
ec796896 Adrian Cochrane
f592768d Adrian Cochrane
ec796896 Adrian Cochrane
f592768d Adrian Cochrane
ec796896 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';",
--  "        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}"
  ]