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
|
exports.name = 'W3C Guideline 3';
exports.description = '';
exports.rule = function(report) {
/* Checkpoint 3.1 [Priority 2] **********************************************/
// TODO: this seems pretty subjective, as you have to be able to understand
// the intent of the content. The math example is tough, as you'd have to be
// able to pick out a situation where text wasn't marked up, but was also
// mathematical notation.
/* Checkpoint 3.2 [Priority 2] **********************************************/
// require that the document contains a dtd.
// TODO: how should we apply this check to iframes and such?
if(!document.doctype) {
report.error('No doctype given for the document', null);
}
/* Checkpoint 3.3 [Priority 2] **********************************************/
// use style sheets instead of HTML attributes to specify formatting
// information.
$5('b').each(function() {
report.error('The b tag shouldn\'t be used, use strong instead', this);
});
$5('i').each(function() {
report.error('The i tag shouldn\'t be used, use em', this);
});
$5('[font]').each(function() {
report.error('Use css instead of the font attribute for formatting', this);
});
// TODO: there are other cases to handle here, not sure about the best path
// forward.
/* Checkpoint 3.4 [Priority 2] **********************************************/
// TODO: not sure what the best way to select everything that's not
// automatically positioned. Additionally, many fancy user interfaces will
// use pixels when positioning content, which isn't necessarily wrong.
/* Checkpoint 3.5 [Priority 2] **********************************************/
// TODO: what's the best way to select siblings that match a given pattern in
// jquery? Essentially, we just want to match situations where h1 is followed
// by something that's both a header, and not h2 (for example).
/* Checkpoint 3.6 [Priority 2] **********************************************/
/* Checkpoint 3.7 [Priority 2] **********************************************/
// TODO: is there any way that we can detect quotations that aren't inside of
// a blockquote region?
};
|