aboutsummaryrefslogtreecommitdiff
path: root/guidelines/WCAG-1.0/guideline-5.js
blob: 48feb49d8d7bb8f5233c112f32ac97b7ad3e7d09 (plain)
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
exports.name        = "WCAG 1.0 Guideline 5: Tables";
exports.description = "Web Accessibility Guideline: Create tables that transform gracefully";
exports.rule        = function(report) {

  /* Checkpoint 5.1 ***********************************************************
   *
   * For data tables, identify row and column headers.
   */

  $('table').each(function () {
    if ($(this).find('th').length == 0) {
      report.error('Table does not have column headers <TH>', this);
    }
  });


  /* Checkpoint 5.5 ***********************************************************
   *
   * Provide summaries for tables.
   */

  $('table').each(function () {
    var $cap  = $(this).find('caption');
    var title = $.trim($(this).attr('title'));
    var sum   = $.trim($(this).attr('summary'));
    if ($cap.length == 0 && (title === undefined || title == '')) {
      report.error('Table has no caption or title attribute', this);
    }
    if (sum === undefined || sum == '') {
      report.error('Table has no summary attribute', this);
    }
  });

};