From 83fd5d7eac15eda9ffcedf1d60dfeeadc722e24c Mon Sep 17 00:00:00 2001 From: Trevor Elliott Date: Tue, 25 Jun 2013 17:25:16 -0700 Subject: Start working on section 3 --- guidelines/accessibility/guideline-3.js | 66 +++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 guidelines/accessibility/guideline-3.js (limited to 'guidelines/accessibility/guideline-3.js') diff --git a/guidelines/accessibility/guideline-3.js b/guidelines/accessibility/guideline-3.js new file mode 100644 index 0000000..1be4354 --- /dev/null +++ b/guidelines/accessibility/guideline-3.js @@ -0,0 +1,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? + + +}; -- cgit v1.2.3