~alcinnz/rhapsode

ref: 943ea735e8cc446f1ec30f515d8d3e0465a47b69 rhapsode/useragent.css -rw-r--r-- 2.8 KiB
943ea735 — Adrian Cochrane Upload Types modules, & useragent stylesheet with audio cues. 4 years ago
                                                                                
943ea735 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
head, link, meta, style, script, title, base {speak: never}
datalist, template {speak: never}
html {speak-as: normal no-punctuation}

/** Forms **/
button, select, textarea, input, output {speak: never} /* Leave to special form entry mode */
button[type=submit] {speak: always}
input[type=submit][value] {speak: always; content: attr(value)}

/** Tables **/
table::before {content: 'Table'; voice-volume: x-soft}
tr {cue-before: url(about:bulletpoint.wav);}
td, th {cue-before: url(about:bulletpoint.wav) -1db;}
/* TODO Do we actually want this feature, would take significant processing. */
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}
[href], :link {cue-before: url(link.oga) !important; voice-pitch: low}
:link:visited {cue-before: url(link.oga) -1db !important}
img {voice-volume: soft; content: attr(src)}
img[alt] {content: 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(about: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(about:bulletpoint.wav) -1db}
li li li, dd dd dt, dd dd dd {cue-before: url(about:bulletpoint.wav) -2db}
li li li li, dd dd dd dt, dd dd dd dd {cue-before: url(about:bulletpoint.wav) -3db}
li li li li li, dd dd dd dd dt, dd dd dd dd dd {
    cue-before: url(about:bulletpoint.wav) -4db
}
li li li li li li, dd dd dd dd dd dt, dd dd dd dd dd dd {
    cue-before: url(about:bulletpoint.wav) -5db
}

ol {counter-reset: -rhaps-ol}
ol li::before {
    counter-increment: -rhaps-ol;
    content: counters(-rhaps-ol, ' ')
}

/** HTML5 **/
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}