raakt 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,34 @@
1
+ require 'watir'
2
+ require 'raakt'
3
+ require 'test/unit'
4
+
5
+ # == Example usage of Raakt in Watir
6
+ # Watir is a great test framework. This simple class shows how you can assert basic accessibility in your testing framework and make sure you catch basic accessibility issues early in the development cycle.
7
+ class TC_myTest < Test::Unit::TestCase
8
+ attr_accessor :ie
9
+
10
+ def setup
11
+ @ie = Watir::IE.start("http://www.peterkrantz.com")
12
+ end
13
+
14
+ def teardown
15
+ @ie.close
16
+ end
17
+
18
+ # This is a standard watir test case
19
+ def test_startPageContainsAuthorName
20
+ assert(@ie.contains_text("Peter Krantz"))
21
+ end
22
+
23
+ def test_startPagePassesSimpleAccessibility
24
+ #set up the accessibility test
25
+ raakttest = Raakt::Test.new(@ie.document.body.parentelement.outerhtml)
26
+
27
+ #run all tests on the current page
28
+ result = raakttest.all
29
+
30
+ #make sure raakt didn't return any error messages
31
+ assert(result.length == 0, result)
32
+ end
33
+ end
34
+
@@ -13,10 +13,11 @@
13
13
  # RAAKT output is in the form of an array of Raakt::ErrorMessage objects.
14
14
  #
15
15
  # == Contributions
16
- # Thanks to Derek Perrault for refactoring RAAKT to use Hpricot[http://code.whytheluckystiff.net/hpricot/] while at the same time making the code more readable.
16
+ # Thanks to Derek Perrault for refactoring RAAKT to use Hpricot[http://github.com/hpricot] while at the same time making the code more readable.
17
17
  #
18
18
  # == Example usage
19
- # See the examples folder for a small script that shows how to retrieve a remote web page and perform an accessibility test on it.
19
+ # See the RAAKT wiki[http://www.peterkrantz.com/raakt/wiki/] for examples and more documentation.
20
+ #
20
21
  module Raakt
21
22
  require 'hpricot'
22
23
  require File.dirname(__FILE__) + '/iso_language_codes'
@@ -48,7 +49,7 @@ module Raakt
48
49
  :difficult_word => "Vocabulary: %s"
49
50
  }
50
51
 
51
- VERSION = "0.5.5"
52
+ VERSION = "0.5.6"
52
53
 
53
54
  class ErrorMessage
54
55
 
@@ -312,11 +313,11 @@ module Raakt
312
313
  for element in formatting_items
313
314
  found_elements << element.name
314
315
  end
315
- messages << ErrorMessage.new(:missing_semantics, "#{found_elements.join(', ')}")
316
+ messages << ErrorMessage.new(:missing_semantics, "#{found_elements.uniq.join(', ')}")
316
317
  end
317
318
 
318
319
  flicker_elements = %w(blink marquee)
319
- flicker_items = (@doc/flicker_elements.join('|'))
320
+ flicker_items = (@doc/flicker_elements.uniq.join('|'))
320
321
 
321
322
  unless flicker_items.empty?
322
323
  messages << ErrorMessage.new(:has_flicker)
@@ -0,0 +1,34 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{raakt}
5
+ s.version = "0.5.6"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Peter Krantz"]
9
+ s.date = %q{2010-08-29}
10
+ s.description = %q{A toolkit to find basic accessibility issues in HTML documents.}
11
+ s.email = %q{peter.krantzNODAMNSPAM@gmail.com}
12
+ s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README", "TODO", "lib/iso_language_codes.rb", "lib/raakt.rb"]
13
+ s.files = ["CHANGELOG", "LICENSE", "Manifest", "README", "TODO", "examples/acctest.rb", "examples/crawlandtest.rb", "examples/list_site_urls.rb", "examples/seleniumrc_example.rb", "examples/svarta_listan.rb", "examples/watir_example.rb", "lib/iso_language_codes.rb", "lib/raakt.rb", "raakt.gemspec", "rakefile", "service/files/base.css", "service/files/button-left.png", "service/files/button-right.png", "service/files/grad.png", "service/files/jquery-131.js", "service/files/round-br.png", "service/files/round-tl.png", "service/files/round-tr.png", "service/files/tab-tl.png", "service/files/tab-tr.png", "service/files/test.js", "service/files/textbg.png", "service/files/w3c.png", "service/index.rhtml", "service/server.rb", "tests/areadoc1.htm", "tests/areadoc2.htm", "tests/areadoc3.htm", "tests/bdoc.htm", "tests/charset_nocharset_specified.htm", "tests/charset_utf8.htm", "tests/difficult_words1.htm", "tests/difficult_words2.htm", "tests/difficult_words3.htm", "tests/difficult_words4.htm", "tests/difficult_words5.htm", "tests/difficult_words6.htm", "tests/difficult_words7.htm", "tests/embeddoc1.htm", "tests/empty.htm", "tests/emptytitledoc.htm", "tests/fielddoc1.htm", "tests/fielddoc2.htm", "tests/fielddoc3.htm", "tests/flickerdoc1.htm", "tests/formdoc1.htm", "tests/formdoc2.htm", "tests/formdoc3.htm", "tests/framedoc1.htm", "tests/framedoc2.htm", "tests/full_berg.htm", "tests/full_google.htm", "tests/headingsdoc1.htm", "tests/headingsdoc10.htm", "tests/headingsdoc2.htm", "tests/headingsdoc3.htm", "tests/headingsdoc4.htm", "tests/headingsdoc5.htm", "tests/headingsdoc6.htm", "tests/headingsdoc7.htm", "tests/headingsdoc8.htm", "tests/headingsdoc9.htm", "tests/imagedoc1.htm", "tests/imagedoc2.htm", "tests/imagedoc3.htm", "tests/imagedoc4.htm", "tests/inputimgdoc1.htm", "tests/invalidelements1.htm", "tests/invalidhtmldoc1.htm", "tests/invalidhtmldoc2.htm", "tests/invalidxhtmldoc1.htm", "tests/langinfodoc1.htm", "tests/langinfodoc2.htm", "tests/linkdoc1.htm", "tests/linkdoc2.htm", "tests/linkdoc3.htm", "tests/linkdoc4.htm", "tests/metarefreshdoc1.htm", "tests/metarefreshdoc2.htm", "tests/metarefreshdoc3.htm", "tests/nestedcomment.htm", "tests/nestedtabledoc.htm", "tests/newlinetext.txt", "tests/raakt_test.rb", "tests/scriptdoc1.htm", "tests/scriptdoc2.htm", "tests/tabledoc1.htm", "tests/tabledoc2.htm", "tests/tabledoc3.htm", "tests/tabledoc4.htm", "tests/tabledoc5.htm", "tests/tabledoc6.htm", "tests/tabledoc7.htm", "tests/tablelayoutdoc.htm", "tests/test_helper.rb", "tests/xhtmldoc1.htm", "Rakefile"]
14
+ s.homepage = %q{http://www.peterkrantz.com/raakt/wiki/}
15
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Raakt", "--main", "README"]
16
+ s.require_paths = ["lib"]
17
+ s.required_ruby_version = Gem::Requirement.new(">= 1.8.2")
18
+ s.rubyforge_project = %q{raakt}
19
+ s.rubygems_version = %q{1.3.7}
20
+ s.summary = %q{A toolkit to find basic accessibility issues in HTML documents.}
21
+
22
+ if s.respond_to? :specification_version then
23
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
24
+ s.specification_version = 3
25
+
26
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
27
+ s.add_runtime_dependency(%q<hpricot>, [">= 0.6"])
28
+ else
29
+ s.add_dependency(%q<hpricot>, [">= 0.6"])
30
+ end
31
+ else
32
+ s.add_dependency(%q<hpricot>, [">= 0.6"])
33
+ end
34
+ end
@@ -0,0 +1,18 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'echoe'
4
+
5
+ Echoe.new('raakt') do |s|
6
+ s.name = 'raakt'
7
+ s.summary = 'A toolkit to find basic accessibility issues in HTML documents.'
8
+ s.runtime_dependencies = ["hpricot >=0.6"]
9
+ s.has_rdoc = true
10
+ s.ruby_version = '>= 1.8.2'
11
+ s.files = FileList['lib/*.rb', 'tests/*'].to_a
12
+ s.test_files = Dir.glob('tests/raakt_test.rb')
13
+ s.author = "Peter Krantz"
14
+ s.email = "peter.krantzNODAMNSPAM@gmail.com"
15
+ s.url = "http://www.peterkrantz.com/raakt/wiki/"
16
+ s.ignore_pattern = ["examples", "pkg", "service"]
17
+ end
18
+
@@ -0,0 +1,736 @@
1
+ /* @group Reset */
2
+
3
+ html, body, form, fieldset, p, a, ul, ol, li, div, legend, label,
4
+ br, input, button, textarea, h1, h2, h3, h4, h5, strong {
5
+ margin: 0;
6
+ padding: 0;
7
+ border: 0;
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ font-size: 100%;
11
+ font-family: Helvetica, Arial, Sans-Serif;
12
+ vertical-align: baseline;
13
+ background-color: white;
14
+ color: #1f2126;
15
+ line-height: 1;
16
+ text-align: left;
17
+ }
18
+
19
+ a img {
20
+ border: 0;
21
+ }
22
+
23
+ a:link, a:visited {
24
+ text-decoration: underline;
25
+ color: #365D95;
26
+ }
27
+
28
+ a:hover, a:active {
29
+ text-decoration: underline;
30
+ color: #1f2126;
31
+ }
32
+
33
+ ul, ol {
34
+ list-style: none;
35
+ }
36
+
37
+ abbr[title], acronym[title], span[title], strong[title] {
38
+ border-bottom: thin dotted;
39
+ cursor: help;
40
+ }
41
+
42
+ acronym:hover, abbr:hover {
43
+ cursor: help;
44
+ }
45
+
46
+ /* @end */
47
+
48
+ /* @group Basics */
49
+
50
+ body {
51
+ padding-bottom: 6em;
52
+ min-width: 40em; /* for the tabs, mostly */
53
+ }
54
+
55
+ p {
56
+ line-height: 130%;
57
+ }
58
+
59
+ strong {
60
+ font-weight: bold;
61
+ }
62
+
63
+ h2 {
64
+ color: #690;
65
+ font-family:Verdana,Arial,sans-serif;
66
+ background-color: white;
67
+ font-size: 1.3em;
68
+ margin-bottom: 1em;
69
+ }
70
+
71
+ h3 {
72
+ font-family:Verdana,Arial,sans-serif;
73
+ color: #690;
74
+ background-color: white;
75
+ font-size: 1.1em;
76
+ border-bottom: 1px dotted #aaaa77;
77
+ text-decoration: none;
78
+ margin-top: 1em;
79
+ margin-bottom: 1em;
80
+ }
81
+
82
+ h4 {
83
+ font-family:Verdana,Arial,sans-serif;
84
+ color: #690;
85
+ font-style: italic;
86
+ text-decoration: none;
87
+ font-size: .9em;
88
+ font-weight:600;
89
+ margin-top: 1.5em;
90
+ margin-bottom: .5em;
91
+ }
92
+
93
+ h5,h6 {
94
+ font-family:Verdana,Arial,sans-serif;
95
+ color: #690;
96
+ background-color: white;
97
+ font-weight: normal;
98
+ font-size: small;
99
+ margin-top: 1em;
100
+ margin-left: 1em;
101
+ margin-bottom: .7em;
102
+ }
103
+
104
+ /* tables in the documentation */
105
+
106
+ table {
107
+ }
108
+ td, th{
109
+ padding: 6px;
110
+ }
111
+
112
+ /* @end */
113
+
114
+
115
+ /* @group Inputs */
116
+
117
+ div#frontforms input {
118
+ /* default for radio and checkbox. Others will be handled directly */
119
+ background-color: #EAEBEE;
120
+ }
121
+
122
+ input#uri, input#file, input#uploaded_file, input#keywords, input#short_desc, textarea {
123
+ font-family: Monaco, "Courier New", Monospace;
124
+ font-size: 0.9em;
125
+ border: 1px solid #bbb;
126
+ border-top: 1px solid #777;
127
+ border-bottom: 1px solid #ddd;
128
+ background: #fefefe url(/files/textbg.png) no-repeat top left;
129
+ padding: 0.2em 0.2em;
130
+ max-width: 1000px;
131
+ font-variant: normal;
132
+ }
133
+
134
+ input#uri, input#file, input#uploaded_file {
135
+ width: 85%;
136
+ margin: 0.3em 0 0 1em;
137
+ }
138
+
139
+ input#file, input#uploaded_file {
140
+ width: 30em;
141
+ }
142
+
143
+ input#mailsearch, input#bugsearch {
144
+ background-color: #EAEBEE;
145
+ color: #365D95;
146
+ padding: .3em 1em;
147
+ border: 1px outset #ccc;
148
+ }
149
+ input#mailsearch:active, input#bugsearch:active {
150
+ border-style: inset !important;
151
+ }
152
+ a.submit {
153
+ display: block;
154
+ width: 10em;
155
+ text-align: center;
156
+ margin: 0 auto;
157
+ background: url(/files/button-left.png) no-repeat center left;
158
+ text-decoration: none;
159
+ }
160
+
161
+ a.submit span {
162
+ display: block;
163
+ padding: 1.2em 2em;
164
+ background: url(/files/button-right.png) no-repeat center right;
165
+ }
166
+
167
+ textarea {
168
+ width: 98.5%;
169
+ }
170
+
171
+ p.submit_button input {
172
+ overflow: visible;
173
+ width: auto;
174
+ background: #fff;
175
+ color: #365D95;
176
+ padding: 0.3em 0.4em 0.1em 0.3em;
177
+ font-size: 1.2em;
178
+ width: 12em;
179
+ text-align: center;
180
+ border-bottom: 2px solid #444;
181
+ border-right: 2px solid #444;
182
+ border-top: 1px solid #aaa;
183
+ border-left: 1px solid #aaa;
184
+ background: #eee url(/files/grad.png) repeat-x top left;
185
+ cursor: pointer;
186
+ }
187
+
188
+ p.submit_button input:active {
189
+ color: #1f2126;
190
+ border-bottom: 1px solid #aaa;
191
+ border-right: 1px solid #aaa;
192
+ border-top: 2px solid #444;
193
+ border-left: 2px solid #444;
194
+ }
195
+
196
+ label {
197
+ font-size: 0.9em;
198
+ padding-left: .2em;
199
+ padding-right: .2em;
200
+ }
201
+
202
+ div.options select {
203
+ margin-right: 0.8em;
204
+ }
205
+
206
+ div.options label {
207
+ margin-right: 0.3em;
208
+ }
209
+
210
+
211
+ div.options table, div.options tbody, div.options td, div.options th, div.options tr {
212
+ margin: 0;
213
+ padding: 0;
214
+ }
215
+
216
+ div.options table {
217
+ border-collapse: collapse;
218
+ }
219
+
220
+ div.options th, div.options th label {
221
+ font-weight: bold;
222
+ }
223
+
224
+ div.options td, div.options th {
225
+ padding: 0.5em 1.1em 0.5em 0;
226
+ text-align: left;
227
+ }
228
+
229
+ div.options td input {
230
+ margin-right: 0.2em;
231
+ }
232
+
233
+ div.options select {
234
+ width: 100%;
235
+ }
236
+
237
+ div.options table tr.subchoice th {
238
+ padding-left: 3em;
239
+ }
240
+ tr.subchoice th label {
241
+ padding-left: 0;
242
+ }
243
+ tr.subchoice th, tr.subchoice th label {
244
+ font-size: 1em;
245
+ font-weight: normal;
246
+ }
247
+ /* @end */
248
+
249
+ /* @group Header */
250
+
251
+ h1#title {
252
+ font-family: "Myriad Web", "Myriad Pro", "Gill Sans", Helvetica, Arial, Sans-Serif;
253
+ background-color: #365D95;
254
+ color: #fdfdfd;
255
+ font-size: 1.6em;
256
+ background: url(/files/head-bl.png) bottom left no-repeat;
257
+ padding-bottom: 0.430em;
258
+ }
259
+ h1#title a, h1#title a img {
260
+ background-color: #365D95;
261
+ }
262
+
263
+ h1 span {
264
+ border-bottom: 1px solid #6383b1;
265
+ border-color: #4e6f9e;
266
+ }
267
+
268
+ h1#title a:link, h1#title a:hover, h1#title a:visited, h1#title a:active {
269
+ color: #fdfdfd !important;
270
+ text-decoration: none;
271
+ }
272
+
273
+ h1#title img {
274
+ vertical-align: middle;
275
+ margin-right: 0.7em;
276
+ }
277
+
278
+ div#banner {
279
+ background: #365D95 url(/files/head-br.png) bottom right no-repeat;
280
+ margin: 1.5em 2em;
281
+ }
282
+
283
+ p#tagline {
284
+ font-size: 0.7em;
285
+ margin: -2em 0 0 12.1em;
286
+ padding-bottom: 1em;
287
+ letter-spacing: 0.1em;
288
+ line-height: 100% !important;
289
+ color: #D0DCEE;
290
+ background-color: transparent;
291
+ }
292
+
293
+ ul#lang_choice {
294
+ position: absolute;
295
+ top: 0;
296
+ right: 0;
297
+ font-size: 0.7em;
298
+ padding: 0.8em 0;
299
+ margin-right: 3.3em;
300
+ }
301
+
302
+ ul#lang_choice a:link, ul#lang_choice a:visited {
303
+ text-decoration: none;
304
+ }
305
+
306
+ ul#lang_choice a:hover, ul#lang_choice a:active {
307
+ text-decoration: underline;
308
+ }
309
+
310
+ ul#lang_choice li {
311
+ display: inline;
312
+ padding-left: 0.5em;
313
+ }
314
+
315
+ /* @end */
316
+
317
+ /* @group Tabs */
318
+
319
+ ul#tabset_tabs {
320
+ height: 1.59em;
321
+ }
322
+
323
+ ul#tabset_tabs li {
324
+ cursor: pointer;
325
+ float: left;
326
+ margin-right: 0.245em;
327
+ background: #DADDE3 url(/files/tab-tl.png) no-repeat top left;
328
+ border-bottom: 1px solid #CBD0DB;
329
+ }
330
+
331
+ ul#tabset_tabs li.selected {
332
+ background: #EAEBEE url(/files/round-tl.png) no-repeat top left;
333
+ border-bottom: 1px solid #EAEBEE;
334
+ }
335
+
336
+ ul#tabset_tabs li.selected a:link, ul#tabset_tabs li.selected a:visited {
337
+ color: #1f2126;
338
+ background: #EAEBEE url(/files/round-tr.png) no-repeat top right;
339
+ }
340
+
341
+ ul#tabset_tabs li span {
342
+ color: #616571;
343
+ }
344
+
345
+ body ul#tabset_tabs li.selected a span {
346
+ color: #3d424f;
347
+ }
348
+
349
+ ul#tabset_tabs li a:link, ul#tabset_tabs li a:visited {
350
+ color: #365D95;
351
+ display: block;
352
+ padding: 0.515em 1.3em 0.215em 0.8em;
353
+ background: #DADDE3 url(/files/tab-tr.png) no-repeat top right;
354
+ margin-left: 0.5em;
355
+ font-size: 0.9em;
356
+ font-weight: bold;
357
+ text-decoration: none;
358
+ }
359
+
360
+ ul#tabset_tabs li a:hover, ul#tabset_tabs li a:active {
361
+ color: #1f2126;
362
+ }
363
+
364
+ ul#tabset_tabs li a:hover span, ul#tabset_tabs li a:active span {
365
+ color: #3d424f;
366
+ }
367
+
368
+ ul#tabset_tabs li.selected span {
369
+ color: #5d6371;
370
+ }
371
+
372
+ /* @end */
373
+
374
+ /* @group Contents */
375
+
376
+ div#frontforms {
377
+ background: #fff;
378
+ padding: 0 2em;
379
+ }
380
+
381
+ div#fields {
382
+ clear: both;
383
+ background: #EAEBEE url(/files/round-tr.png) no-repeat top right;
384
+ padding: 0.5em 1.3em;
385
+ border-bottom: 1px solid #DCDDE0;
386
+ }
387
+
388
+ div#fields legend, div#fields p, div#fields p strong, div#fields p a, div#fields fieldset, div#fields form,div#fields form fieldset legend a, div#fields form p label, div#fields tr label {
389
+ background-color: #EAEBEE;
390
+ }
391
+
392
+ fieldset {
393
+ background: #EAEBEE;
394
+ }
395
+
396
+ legend {
397
+ font-size: 1.1em;
398
+ padding: 1em 0 0.23em;
399
+ letter-spacing: 0.06em;
400
+ }
401
+
402
+ legend a:link, legend a:visited, legend a:hover, legend a:active {
403
+ text-decoration: none;
404
+ }
405
+
406
+ legend.toggletext {
407
+ cursor: pointer;
408
+ padding-left: 0.8em;
409
+ background: #EAEBEE url(/files/arrow-closed.png) 0 1.2em no-repeat;
410
+ }
411
+
412
+ legend.toggled {
413
+ background: #EAEBEE url(/files/arrow-open.png) 0 1.4em no-repeat;
414
+ }
415
+
416
+ p.instructions {
417
+ color: #4D525E;
418
+ font-size: 0.80em;
419
+ padding-bottom: 1em;
420
+ padding-top: 0.5em;
421
+ }
422
+
423
+ p.instructions label {
424
+ color: #4D525E;
425
+ padding: 0;
426
+ margin: 0;
427
+ font-size: 1em;
428
+ }
429
+
430
+ div.options {
431
+ padding: 0.7em 0 0.5em 1em;
432
+ }
433
+
434
+ div.options, p.submit_button, p.instructions, p#note {
435
+ border-top: 1px solid #cbcdd5;
436
+ background: #EAEBEE url(/files/double.png) left top repeat-x;
437
+ }
438
+
439
+ p.submit_button {
440
+ padding: 0.6em 0 0;
441
+ margin: 0;
442
+ text-align: center;
443
+ }
444
+
445
+
446
+ p#note {
447
+ clear: both;
448
+ color: #4D525E;
449
+ font-size: 0.9em;
450
+ padding: 0.5em 0 0.1em;
451
+ }
452
+
453
+ /* @end */
454
+
455
+ /* @group Menu */
456
+
457
+ ul#menu {
458
+ text-align: center;
459
+ margin: 1em 2em;
460
+ background: #EAEBEE url(/files/round-br.png) no-repeat bottom right;
461
+ padding: 0.5em 0 0.3em;
462
+ border-top: 1px solid #DCDDE0;
463
+ }
464
+
465
+ ul#menu span {
466
+ display: none;
467
+ }
468
+
469
+ ul#menu a:link, ul#menu a:visited {
470
+ background: #EAEBEE;
471
+ color: #365D95;
472
+ text-decoration: none;
473
+ }
474
+
475
+ ul#menu a:hover, ul#menu a:active {
476
+ color: #1f2126;
477
+ text-decoration: underline;
478
+ }
479
+
480
+ ul#menu li {
481
+ display: inline;
482
+ margin-right: 0.8em;
483
+ }
484
+
485
+
486
+
487
+ /* @end */
488
+
489
+ /* @group Footer */
490
+
491
+ div#footer {
492
+ padding: 0 2em;
493
+ }
494
+
495
+ p#activity_logos {
496
+ float: left;
497
+ padding-right: 2em;
498
+ margin-top: .6em;
499
+ }
500
+
501
+ p#support_logo {
502
+ float: right;
503
+ font-size: 0.8em;
504
+ text-align: center;
505
+ padding-left: 2em;
506
+ padding-top: 1.8em;
507
+ width: 90px;
508
+ height: 100px;
509
+ }
510
+
511
+ p.copyright {
512
+ text-align: center;
513
+ text-transform: uppercase;
514
+ font-size: 0.7em;
515
+ line-height: 1.4;
516
+ }
517
+
518
+ p.copyright, p.copyright a {
519
+ text-decoration: none;
520
+ color: #7C8395;
521
+ }
522
+
523
+ p.copyright a:link, p.copyright a:visited {
524
+ color: #A3756E;
525
+ }
526
+
527
+ p.copyright a:hover, p.copyright a:active {
528
+ color: #7D4A42;
529
+ }
530
+
531
+ p#version_info {
532
+ font-size: small;
533
+ text-align: center;
534
+ color: #888;
535
+ background-color: white;
536
+ }
537
+
538
+ /* @end */
539
+
540
+ /* @group Docs */
541
+
542
+ div.doc {
543
+ margin: 1em 2em;
544
+ padding: 0.5em 0 0.3em;
545
+ }
546
+
547
+
548
+ /* Set line height to 1.4x (from 1.3x on general site) to allow for various inline decoration. */
549
+ div.doc p, div.doc li {
550
+ line-height: 150% !important;
551
+ }
552
+ div.doc p {
553
+ margin-bottom: .7em;
554
+ margin-top: .5em;
555
+ }
556
+
557
+ div.doc p, div.doc dt, div.doc ul, div.doc ol {
558
+ margin-left: 1.5em;
559
+ margin-right: 1.5em;
560
+ }
561
+
562
+ div.doc ul li {
563
+ list-style-type: disc;
564
+ margin-left: 1em;
565
+ }
566
+
567
+ /* documentation - table of contents */
568
+ #toc { /* making the toc a bit more compact and standing out */
569
+ font-size: .85em;
570
+ font-weight: bold;
571
+ margin-bottom: 2em;
572
+ margin-left: 3em;
573
+ }
574
+
575
+ div.doc div#toc ol, div.doc ol {
576
+ list-style-type: decimal;
577
+ }
578
+ div.doc div#toc ol li {
579
+ line-height: 130%;
580
+ font-weight: bold;
581
+ }
582
+ div.doc div#toc ol li ol {
583
+ list-style-type: lower-alpha;
584
+ font-weight: normal;
585
+ margin-left: 1em;
586
+ }
587
+ div.doc div#toc ol li ol li ol{
588
+ list-style-type: lower-roman;
589
+ }
590
+
591
+
592
+ /* documentation - error explanations */
593
+ dl#expl dt code { /* headings for an error */
594
+ white-space: normal;
595
+ font-weight: bold;
596
+ }
597
+
598
+ dl#expl dt {
599
+ border-top: 1px dashed black;
600
+ margin-top: 2em;
601
+ margin-bottom: 1em;
602
+ }
603
+
604
+ div.doc dt {
605
+ margin-top: 1.2em;
606
+ margin-bottom: .2em;
607
+ }
608
+ div.doc dt, div.doc dt a {
609
+ font-style: italic;
610
+ }
611
+ div.doc dd {
612
+ margin-right: 0; /* no need for the extra margin if we nicely put the text of the dd in a paragraph */
613
+ }
614
+ div.doc var { /* headings for an error */
615
+ color: #006;
616
+ }
617
+
618
+ /* A snippet of code used inline. */
619
+ div.doc code {
620
+ white-space: normal;
621
+ display: inline;
622
+ padding-left: .2em;
623
+ padding-right: .2em;
624
+ color: black;
625
+ font-family: Monaco, "Courier New", monospace;
626
+ border: 1px dotted #ccc;
627
+ }
628
+
629
+ div.doc code.block {
630
+ display: block;
631
+ padding: 1em;
632
+ white-space: pre;
633
+ margin-top: 1em;
634
+ margin-bottom: 1em;
635
+ margin-right: 3em;
636
+ }
637
+
638
+ div.doc pre {
639
+ margin-left: 5em;
640
+ padding-left: 2em;
641
+ line-height: 150%;
642
+ border-left: 1px solid #690;
643
+
644
+ }
645
+
646
+ div.doc code samp {
647
+ font-weight: normal;
648
+ color: black;
649
+ font-style: italic;
650
+ }
651
+
652
+ /* reference tables */
653
+
654
+ div.doc table {
655
+ border-collapse: collapse;
656
+ border-right: 1px solid #ccc;
657
+ }
658
+ div.doc table td, .doc table th{
659
+ border-top: 0px solid #ddd;
660
+ border-bottom: 1px solid #ccc;
661
+ border-left: 1px solid #eee;
662
+ padding: 6px;
663
+ border-collapse: collapse;
664
+ }
665
+ div.doc table th {
666
+ background-color: #eee;
667
+ color: #11111A;
668
+ border-right: 1px solid #ccc;
669
+ }
670
+
671
+ div.doc table {
672
+ margin-top: 1em;
673
+ margin-bottom: .5em;
674
+ border-collapse: collapse;
675
+ border-right: 1px solid #ccc;
676
+ }
677
+
678
+ div.doc td, div.doc th {
679
+ border-top: 0px solid #ddd;
680
+ border-bottom: 1px solid #ccc;
681
+ border-left: 1px solid #eee;
682
+ border-collapse: collapse;
683
+
684
+ }
685
+ div.doc th {
686
+ background-color: #eee;
687
+ color: #11111A;
688
+ border-right: 1px solid #ccc;
689
+ }
690
+
691
+ /* @end */
692
+
693
+
694
+ /* @group home page, news text */
695
+
696
+ div.intro {
697
+ margin: 1em 2em;
698
+ padding: 0.5em 0 0.3em;
699
+ }
700
+
701
+ div.intro p { margin-bottom: .5em;}
702
+
703
+ #news dt {
704
+ font-weight: bold;
705
+ margin-top: 1.5em;
706
+ margin-bottom: .3em;
707
+ }
708
+
709
+ #news dd {
710
+ margin-left: 2.5em;
711
+ margin-right: 1.5em;
712
+ }
713
+
714
+
715
+ /* warning on the home page for test instances */
716
+ #test_warning {
717
+ border-left: 1px solid #ccc;
718
+ border-right: 1px solid #ccc;
719
+ line-height: 160%;
720
+ text-align: center;
721
+ margin-top: 2em;
722
+ margin-left: 12%;
723
+ margin-right: 12%;
724
+ padding-left: 1.5em;
725
+ padding-right: 1.5em;
726
+ color: black;
727
+ background-color: white;
728
+ }
729
+
730
+ #test_warning img {
731
+ width: 1.3em;
732
+ vertical-align: middle;
733
+ }
734
+
735
+ /* @end */
736
+