Techniques/problemtechs

From WCAG WG

This page represents an overview of techniques that are old and/or outdated, have convoluted test procedure logic or similar issues. Some techniques may be 'compound sufficient techniques' so there may be dependencies and relationships that can either be clarified better within the techniques themselves or they may need to be separated out in to individual techniques.

Techniques needing updating

F17: Failure of Success Criterion 1.3.1 and 4.1.1 due to insufficient information in DOM to determine one-to-one relationships (e.g., between labels with same id) in HTML [1]

The description of the technique objective could be clarified a little better. The current description is as follows:

The objective of this technique is to ensure that Web pages can be interpreted consistently by user agents, including assistive technology. If it is ambiguous, different user agents including assistive technologies could present different information to their users. Users of assistive technology for example may have different information presented to them than users of other mainstream user agents. Some elements and attributes in markup languages are required to have unique values, and if this requirement is not honored, the result can be irregular or not uniquely resolvable content. For example, when id attribute values are not unique, they are particularly problematic when referenced by labels, headers in data tables, or used as fragment identifiers, as user agents do not have enough information to determine essential relationships (i.e., to determine which label goes with which item).

A suggest rewrite of the description text may help to make it clearer:

The objective of this technique is to ensure that Web pages can be interpreted consistently by user agents, including assistive technology. If this interpretation is ambiguous, different user agents including assistive technologies could present different information to their users.

Users of assistive technology, for example, may have different information presented to them than users of other mainstream user agents. Some elements and attributes in markup languages are required to have unique values, and if this requirement is not honored, it can result in a poor user experience. For example, when id attribute values are not unique, they are particularly problematic when referenced by labels, headers in data tables, or used as fragment identifiers, as user agents do not have enough information to determine essential relationships." [rewrite by Josh 28th March 2014]

Problems with this technique were flagged by Wilco Fiers <w.fiers@accessibility.nl>. He made the following comment:

This technique is a clear 'Don't do X', in this case document.write and innerHTML. Which would make it a failure technique, except that using document.write / innerHTML is more a question of accessibility support then of conformance to any specific criterion. I imagine this technique was created to inform developers about the innerHTML problem. But it's done in a format that seems inappropriate for it; as a script technique.

For all techniques content can be generated using innerHTML, so limiting this to 1.3.1 seems odd. Also, this technique doesn't actually provide a solution to 1.3.1. If you were to insert a heading without header markup, that would be an accessibility problem, even if it was done using DOM. It would probably be more appropriate to scratch this technique as it is and create an article in which this problem is explained. This article can then be referenced to from other documents." [2]

ISSUES

  • The test procedure for this technique also mentions the axis attribute which is now obsolete in HTML5. [4]

For tables that use the axis attribute, check that all values listed in the axis attribute have a corresponding id value in a table header cell in the same table.

  • The failure example also discusses accesskey attribute. What should our 'position' on accesskey usage be? They are generally problematic.

Outdated Techniques

Compound sufficient Techniques

This is a list of current 'compound sufficient techniques' kindly provided by Loretta. [3] This gives a good overview of the current list of techniques that may need working group review to ensure that either their logic and/or relationships to other techniques can be better expressed.

@@ Needs to be implemented on many techniques:

SC 1.1.1

  • G94 with H2, H24, H30, H35, H36, H37, H53, H86, FLASH1, FLASH5, FLASH28, PDF1, SL5, G196

(This one is a mess - you may need to study the Understanding document to understand all the dependencies)

  • G95 with H2, H24, H30, H35, H36, H37, H53, H86, FLASH1, FLASH5, FLASH28, PDF1, SL5, G196 and with G73, G74, G92, where G92 must be combined with H45, H53, FLASH2, FLASH11, SL8
  • G82 with H2, H24, H30, H35, H36, H37, H53, H86, FLASH1, FLASH5, FLASH28, PDF1, SL5, G196
  • G68 with H2, H24, H30, H35, H36, H37, H53, H86, FLASH1, FLASH5, FLASH28, PDF1, SL5, G196
  • G110 with with H2, H24, H30, H35, H36, H37, H53, H86, FLASH1, FLASH5, FLASH28, PDF1, SL5, G196
  • G143 with G144

SC 1.2.2:

  • G87 with SM11, SM12, FLASH9, SL16, SL28

SC 1.2.3:

  • G69 with G58, SL17
  • G78 with SL1
  • G173 with SM6, SM7, FLASH26, SL1
  • G8 with SM1, SM2, FLASH26, SL1

SC 1.2.4:

  • G9 with G93
  • G9 with G87
  • G9 with G87 with SM11, SM12

SC 1.2.5:

  • G78 with SL1
  • G173 with SM6, SM7, FLASH26
  • G8 with SM1, SM2, FLASH26

SC 1.2.6:

  • G81 with SM13, SM14

SC 1.2.7:

  • G8 with SM1, SM2

SC 1.2.8:

  • G69 with G58, SL17

SC 1.3.1:

  • G115 with H49

SC 1.3.2:

  • G57 with H34, H56, C6, C8

SC 1.4.8 Another one that is really complicated, since there are different sets of techniques for each requirement. Do we add the disclaimer to all of them?

  • All the "single techniques" for parts of this SC: C23, C25, G156, G148, G175, H87, C20, C19, G172, G169, G188, C21, C26
  • G146 with C12, C13, C14, C24, FLASH33, SCR34

SC 2.1.1:

  • G90 with SCR20, SCR35, SCR2, SL9, SL14
  • FLASH17 with FLASH22, FLASH16, FLASH14

SC 2.2.1:

  • SCR16 with SCR1

SC 2.4.1

  • H70 with H64

SC 2.4.2

  • G88 with H25, PDF18

SC 2.4.4:

  • G91 with PDF11, PDF13, SL18

SC 2.4.8:

  • G127 with H59

SC 3.1.3:

  • G101 with G55 with H40, H60
  • G101 with G112 with H54

SC 3.1.4:

  • G102 with G97, G55, H28, PDF8
  • G102 with G55, G62, H60, G70, H28, PDF8

SC 3.2.2

  • G80 with H32, H84, FLASH4, PDF15, SL10

SC 3.2.4:

  • G197 with any sufficient technique for 1.1.1 and any sufficient technique for 4.1.2

SC 3.2.5:

  • G110 with H76

SC 3.3.2

  • G131 with G89, G184, G162, G83, H90, FLASH10, PDF5

SC 4.1.1

  • H74 with H93 with H94

SC 4.1.2:

  • G108 with H91, H44, H64, H65, H88
  • G135 with FLASH32, FLASH29, FLASH30, PDF10, PDF12, SL26, SL32
  • G10 with SL6, SL18, SL20, SL30

References