WD-xag-20021003 76 KB
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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <title>XML Accessibility Guidelines</title>
  <style type="text/css">
<!-- 
h2.draft { background: #e0e0e5; margin-top: 1em; padding: 0.1em; }
ul.guidelines, ul.guidelines ul { list-style-type: none; }
ul.guidelines ul { margin-bottom: 0.7em; }
ul.guidelines dl dd  { margin-bottom: 0.75em; }
.definition { margin-top: 1em;margin-bottom: 1em; border: 2px solid #a0a0a0;}
dl dl { margin-left: -1em; }
dl.techs { margin-left: 1em; }
dl.techs dt { font-weight: bold; }
dt.check { margin-bottom: 0.5em; }
dt.check { color: #007060; font-weight: bold; }
pre { font-family: monospace; white-space: pre;
      text-align: left; font-size: 0.8em; 
      padding: 1em; }
ins { text-decoration: none; }
.proposed { color: #e05000; }
@media screen {
 pre { border: 1px solid #a0a0a0; }
}
-->





























  </style>
  <link rel="stylesheet" type="text/css" media="screen"
  href="http://www.w3.org/StyleSheets/TR/W3C-WD" />
</head>

<body xml:lang="en" lang="en">

<div class="head">
<p>[<a href="#toc" accesskey="c">contents</a>]</p>

<p><a href="http://www.w3.org/"><img height="48" width="72" alt="W3C"
src="http://www.w3.org/Icons/w3c_home" title="World Wide Web Consortium"
/></a></p>

<h1 id="Accessibil">XML Accessibility Guidelines</h1>

<h2 class="draft" id="Working">W3C Working Draft 3 October 2002</h2>
<dl>
  <dt>This Version:</dt>
    <dd><a
      href="http://www.w3.org/TR/2002/WD-xag-20021003">http://www.w3.org/TR/2002/WD-xag-20021003</a></dd>
  <dt>Latest Version:</dt>
    <dd><a href="http://www.w3.org/TR/xag">http://www.w3.org/TR/xag</a></dd>
  <dt>Latest Editor Draft:</dt>
    <dd><a
      href="http://www.w3.org/WAI/PF/XML/">http://www.w3.org/WAI/PF/XML</a></dd>
  <dt>Previous Version:</dt>
    <dd><a
      href="http://www.w3.org/TR/2001/WD-xmlgl-20010829">http://www.w3.org/TR/2001/WD-xmlgl-20010829</a></dd>
</dl>
<dl>
  <dt>Editors:</dt>
    <dd><a href="http://www.w3.org/People/danield/">Daniel Dardailler</a>, W3C
      (<a href="mailto:danield@w3.org">danield@w3.org</a>)</dd>
    <dd><a href="http://purl.org/net/sbp/">Sean B. Palmer</a> (<a
      href="mailto:sean@mysterylights.com">sean@mysterylights.com</a>)</dd>
    <dd><a href="/People/Charles/">Charles McCathieNevile</a>, W3C (<a
      href="mailto:charles@w3.org">charles@w3.org</a>)</dd>
</dl>

<p class="copyright"><a
href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#Copyright">Copyright</a>
©2000 - 2002 <a href="http://www.w3.org/"><abbr
title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> (<a
href="http://www.lcs.mit.edu/"><abbr
title="Massachusetts Institute of Technology">MIT</abbr></a>, <a
href="http://www.inria.fr/"><abbr xml:lang="fr" lang="fr"
title="Institut National de Recherche en Informatique et Automatique">INRIA</abbr></a>,
<a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#Legal_Disclaimer">liability</a>,
<a
href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#W3C_Trademarks">trademark</a>,
<a
href="http://www.w3.org/Consortium/Legal/copyright-documents-19990405">document
use</a> and <a
href="http://www.w3.org/Consortium/Legal/copyright-software-19980720">software
licensing</a> rules apply.</p>
<hr title="Separator from Header" />
</div>

<h2><a name="abstract" id="abstract">Abstract</a></h2>

<p>This document provides guidelines for designing Extensible Markup Language
(XML) applications that lower barriers to Web accessibility for people with
disabilities (visual, hearing, physical, cognitive, and neurological). <a
href="/XML/">XML</a>, used to design applications such as <a
href="/WAI/References/HTML4-access">XHTML</a>, <a
href="/TR/SMIL-access/">SMIL</a>, and <a href="/TR/SVG-access/">SVG</a>,
provides no intrinsic guarantee of the accessibility of those applications.
This document explains how to include features in XML applications that
promote accessibility.</p>

<h2><a name="status" id="status">Status of this document</a></h2>

<p>This document is a <strong>Working Draft</strong> of the XML Accessibility
Guidelines made available by the Protocols and Formats Working Group (<a
href="/WAI/PF/">PFWG</a>). The <acronym
title="Protocols and Formats Working Group">PFWG</acronym> operates as part
of the <a href="/WAI/Technical/Activity">WAI Technical Activity</a>. The
<acronym title="Protocols and Formats Working Group">PFWG</acronym> maintains
a page about <a href="/WAI/PF/XML/issues">issues, errata and corrigenda for this
specification</a>, and feedback is particularly invited on those.</p>

<p>This document is a W3C Working Draft made available for public review as
per the <a href="/Consortium/Process-20010719/cover">W3C Process</a>.
This draft is expected to be updated or made obsolete within three months of
its publication (3 October 2002). Intermediate updates (<a 
href="http://lists.w3.org/Archives/Public/wai-xtech/">publicly archived</a>
mailing list: <a href="mailto:wai-xtech@w3.org">wai-xtech@w3.org</a>.</p>

<p><a href="/WAI/PF/XML/translations">Translations of this specification</a>, or of
previous working drafts, are made available by volunteers. The <acronym
title="Protocols and Formats Working Group">PFWG</acronym> thanks people who
have provided translations, but notes that the original English version of 
any draft is the only authoritative version</p>

<p>Patent disclosures relevant to this specification may be found on the
Working Group's <a href="/WAI/PF/XML/Disclosures.html"
rel="disclosure">patent disclosure page</a>, in conformance with W3C policy.
At the time of publication, there are no declarations specific to this
document.</p>

<p>Publication of this document does not imply endorsement by the W3C, its
membership or its staff. This is a draft document and may be updated,
replaced, or obsoleted by other documents at any time. It is inappropriate to
use W3C Working Drafts as reference material or to cite them as other than
"work in progress". A list of current W3C technical reports and publications,
including working drafts and notes, can be found at <a
href="/TR/">http://www.w3.org/TR/</a>.</p>

<h2><a name="toc" id="toc">Table Of Contents</a></h2>

<div class="toc">
<ul class="toc">
  <li class="tocline"><a href="#intro" class="tocxref">Introduction</a> 
    <ul>
      <li><a href="#scope">XML Grammars and the Scope of XAG</a></li>
      <li><a href="#Relationsh">Relationship to Other Guidelines</a></li>
      <li><a href="#PB" class="tocxref">Problem statement</a></li>
    </ul>
  </li>
  <li class="tocline"><a href="#Guidelines" class="tocxref">Guidelines for
    designers of XML dialects</a> 
    <ul>
      <li><a href="#g1_0">1. Ensure that authors can associate multiple media
        objects as alternatives</a></li>
      <li><a href="#g2_0">2. Create semantically-rich languages</a></li>
      <li><a href="#g3_0">3. Design an accessible user interface</a></li>
      <li><a href="#g4_0">4. Document and export semantics</a></li>
    </ul>
  </li>
  <li class="tocline"><a href="#Appendices">Appendices</a> 
    <ul>
      <li><a href="#techniques">Appendix A: Techniques</a></li>
      <li><a href="#detaildefs">Appendix B: XML Accessibility
      Definitions</a></li>
      <li><a href="#acknowledgments">Appendix C: Acknowledgments</a></li>
      <li><a href="#references">Appendix D: References</a></li>
      <li><a href="#Appendix">Appendix E: Changes from the previous
      Draft</a></li>
    </ul>
  </li>
</ul>
</div>
<hr />

<h2 id="intro">Introduction</h2>

<p>This document specifies requirements that, if satisfied by designers of
XML applications, will lower barriers to accessibility. This document
includes:</p>
<ul>
  <li>This introduction, which provides context for understanding the
    requirements listed in section 2.</li>
  <li>Section 2 explains four general principles of accessible design, called
    "guidelines". Each guideline consists of a list of requirements, called
    "checkpoints", which must be satisfied in order to conform to this
    document.</li>
  <li>Section 3 explains how to make claims that XML Applications satisfy the
    requirements of section 2.</li>
  <li>An appendix lists all the checkpoints for convenient reference (e.g.,
    as a tool for application developers to evaluate software for
  conformance)</li>
</ul>

<p><a href="/XML/">XML</a> (Extensible Markup Language) is a meta-syntax,
used to create new languages. It can be seen as a simplification of SGML
(Standard Generalized Markup Language), designed to promote a wider
acceptance in Web markets, but serving the same functionality of
extensibility and new language design. <a href="/MarkUp/">HTML</a> (HyperText
Markup Language), on the other hand, is one particular application of SGML,
which covers one set of needs ("simple" hypertext documents) and one set of
element and attributes.</p>

<p>For instance, in HTML, authors can write elements like:</p>
<pre><code> &lt;</code><strong><code>title</code></strong><code>&gt;XML and Accessibility&lt;/</code><strong><code>title</code></strong><code>&gt; ...
 &lt;</code><strong><code>address</code></strong><code> lang="fr"&gt;Mas St Christophe&lt;/</code><strong><code>address</code></strong><code>&gt; ...
 &lt;</code><strong><code>h1</code></strong><code>&gt;Background&lt;/</code><strong><code>h1</code></strong><code>&gt;</code></pre>

<p>and they can only use elements (<code>title</code>, <code>h1</code>, etc.)
defined by the HTML specification (which defines about a hundred), and their
attributes.</p>

<p>In SGML and XML, authors can define their own set of elements, and end up
with documents like:</p>
<pre> <code>&lt;</code><strong><code>menu</code></strong><code>&gt;New England Restaurant&lt;/</code><strong><code>menu</code></strong><code>&gt;
 &lt;</code><strong><code>appetizer</code></strong><code>&gt;Clam Chowder
   &lt;</code><strong><code>photo</code></strong><code> url="clam.jpg"&gt;A large creamy bowl of clam chowder, with
       bread crumbs on top&lt;/</code><strong><code>photo</code></strong><code>&gt;
 &lt;/</code><strong><code>appetizer</code></strong><code>&gt;</code></pre>

<p>which may fit more closely the needs of their information system.</p>

<p>Within W3C, the HTML language is now being recast as XML - this is called
<a href="/TR/xhtml1/">XHTML</a> - including a modularization of HTML to suit
the needs of a larger community (mobile users, Web TV, etc).</p>

<p>XML is therefore not to be seen as a replacement of HTML, but as a new
building layer on top of which HTML is to be placed, next to other languages
designed by W3C, such as MathML (for representing mathematical formula), SMIL
(for synchronizing multimedia), SVG (for scalable graphics), etc., and other
new languages designed by other organizations (such as <a
href="http://www.openebook.org/">Open EBook</a>, <a
href="http://www.xml.org/xmlorg_registry/index.shtml">etc</a>.).</p>

<p>Furthermore, it is important to understand that XML is not only a User
Interface technology (like HTML), but can and is often used in protocol
communication, to serialize and encode data to be sent from one machine to
another.</p>

<h3><a name="scope" id="scope">XML Grammars, and The Scope Of XAG</a> <a
href="/WAI/PF/XML/issues#Scope" class="issue">[[Note: this section may disappear or
change significantly]]</a></h3>

<p>The XML grammars (often called schema in this document) can be classified
along different axes:</p>
<dl>
  <dt>End-user-oriented:</dt>
    <dd>Where the dialect is used to describe user-oriented data, such as
      structured textual oriented content in Docbook, HTML, MenuML, OEB,
      etc.; or specialized content - such as MathML, Scalable Vector Graphics
      (SVG), MusicML, Synchronized Multimedia Integration Language (SMIL); or
      any document storage format. An informal definition is 'anything for
      which the question "is there a textual equivalent of all rich media
      data bits?" makes sense'.</dd>
  <dt>Process-oriented:</dt>
    <dd>When the content being marked up is closer to a program than a
      document. Examples: For expressing data processing (for example XSL -
      Extensible Style Language), metadata, such as RDF (Resource Description
      Framework), XML Schema languages, etc.</dd>
</dl>

<p>According to this taxonomy, these guidelines only address
End-user-oriented schema. This does not imply that there are not
accessibility issues or features in a Process-oriented schema - see, for
example, how <a href="/TR/xslt">XSL</a> can assist in Braille formatting, but
they are out of the scope of this particular document.</p>

<h3><a name="Relationsh" id="Relationsh">Relation to other WAI
Guidelines</a></h3>

<p>"XML Accessibility Guidelines 1.0" is part of a series of accessibility
guidelines published by the Web Accessibility Initiative (WAI). The documents
in this series reflect an accessibility model in which Web content authors,
format designers, and software developers have roles in ensuring that users
with disabilities have access to the Web. In this model:</p>
<ul>
  <li>Format specifications (e.g., XHTML, SVG, SMIL, MathML) include features
    that support accessibility, such as elements and attributes for
    alternative text, navigation tools, semantics that respect user control
    over presentation, etc. The current document (XAG 1.0) explains how to
    design XML formats that include features to benefit accessibility. The
    principles of this document apply for the most part to non-XML formats as
    well.</li>
  <li>Authors make use of these features when creating Web pages and Web
    applications. The "Web Content Accessibility Guidelines 1.0" [WCAG10]
    explains how to create more accessible content through features offered
    by formats, and also through consistent design, clear writing, use of
    multimedia, and more.</li>
  <li>Authoring tools help authors create more accessible content through
    support of formats with accessibility features, and through interactive
    and automatic assistance (e.g., prompts for accessibility features,
    validity checking, reuse of accessible content, etc.). The "Authoring
    Tool Accessibility Guidelines 1.0" [ATAG10] explains the responsibilities
    of authoring tool developers. ATAG 1.0 addresses the accessibility of
    authored content but also the accessibility of the tool's user
  interface.</li>
  <li>User agents promote accessibility by implementing formats with
    accessibility features, and by providing an accessible user interface,
    allowing communication with assistive technologies, documenting
    accessibility features, following operating environment conventions, etc.
    The "User Agent Accessibility Guidelines 1.0 [UAAG10] explains to user
    agent developers how to create more accessible browsers, multimedia
    players, and other user agents.</li>
</ul>

<p>Formats that conform to XAG 1.0 will support the features of the other WAI
Guidelines. For instance, this document requires that formats include
elements and attributes that:</p>
<ul>
  <li>Will allow authors to associate text alternatives with non-text
  content;</li>
  <li>Will allow user agent developers to recognize these alternatives and
    provide easy access to them in a reliable manner;</li>
  <li>Will allow authoring tool developers to design tools that reuse
    recognized alternatives when the same non-text content (e.g., a corporate
    logo) is reused by the author.</li>
</ul>

<p>The requirements of making the Web accessible to actual users do not
always match this model perfectly. In all the guidelines there are cases
where there is a need for overlapping requirements to ensure that people can
in fact use the Web. These are sometimes due to particular problems in widely
implemented and used technology, and sometimes are provided as a "safety
net".</p>

<p>Note: The WAI Guidelines cross-reference one another. XAG 1.0 requirements
to satisfy the requirements of other WAI Guidelines should be interpreted to
mean "Follow the requirements of other guidelines EXCEPT for those that in
turn require conformance to XAG 1.0." Thus, if XAG 1.0 requires that the
documentation of an XML application conform to WCAG 2.0, and WCAG 2.0 states
that conforming content must also conform to XAG, read this as:
"Documentation of an XML application must conform to WCAG 2.0 except for WCAG
2.0 requirements that in turn require conformance to XAG 1.0."</p>

<h3><a name="PB" id="PB">Problem statement</a> <a
href="/WAI/PF/XML/issues.html#Definition" name="defNote" id="defNote"
class="issue">[[Note: This section is likely to be significantly
revised]]</a></h3>

<p>The <a href="/WAI/">WAI</a> (Web Accessibility Initiative) has done
extensive work in the HTML area, resulting in lots of new functionalities
being added to the version 4.0 of the language (see the <a
href="/WAI/References/HTML4-access">HTML4 Accessibility Improvements
paper</a> [<a href="#HTML-acces">HTML-access</a>]).</p>

<p>These features includes:</p>
<ul>
  <li>Improved structure (such as fieldset, optgroup in form)</li>
  <li>Support of separate Style Sheets</li>
  <li>Better alternate content (required alt, longdesc, caption, etc)</li>
  <li>Easier navigation (tabindex, link, etc)</li>
</ul>

<p>One area of concern with the advent of XML is that the <strong>freedom of
design it brings</strong> <strong>has and can result in a loss of
accessibility</strong> features, present today because of HTML's pervasive
presence and widely available specification.</p>

<p>For instance, one could design a new XML language that would make it much
more difficult to create accessible documents, by not including in the
element or attribute set a way to attach an alternate textual description for
a photo:</p>
<pre><code> &lt;</code><strong><code>menu</code></strong><code>&gt;New England Restaurant&lt;/</code><strong><code>menu</code></strong><code>&gt;
 &lt;</code><strong><code>appetizer</code></strong><code>&gt;Clam Chowder
   &lt;</code><strong><code>photo</code></strong><code> url="clam.jpg"/&gt; </code><em><code>&lt;!-- no alt attribute or 
                                textual content model here --&gt;</code></em><code> &lt;/</code><strong><code>appetizer</code></strong><code>&gt;</code></pre>

<p>In this example, the problem is not that the author of this document
didn't put an alt attribute or textual equivalent attached to the photo
element, it's that the designer of the language didn't put the attribute or
the proper support in the language itself (that is, in the schema or the
DTD). This means that there is no reliable way for a user to find how an
author tried to explain a particular image in text form.</p>

<p>This document specifies requirements for XML languages to ensure that
people can create documents in a given XML language which are as accessible
as possible to people with disabilities, who use a variety of different
techniques and tools to access the Web.</p>
<hr />

<h2 id="Guidelines">Guidelines for designers of XML dialects</h2>

<p>This section provides a list of four guidelines, which are general
principles of accessible design. Guidelines include rationale and
checkpoints. Each checkpoint expresses a requirement, includes some
informative text about the checkpoint and one or several Techniques, where
implementations and examples of the checkpoint are discussed. Note that the
checkpoints are not prioritized at that point.</p>
<ul class="guidelines">
  <li><h3 id="g1_0" class="guide">Guideline 1. Ensure that authors can
    associate multiple media objects as alternatives</h3>
    <p>Web content providers must able to offer alternative versions of their
    content if they wish to do so (as the Web Content Accessibility
    Guidelines tell them to do so). Textual alternatives, like a caption for
    a movie, or a table summary, can be repurposed for many different output
    devices, whereas audio content for instance is confined to a certain set
    of devices (those that can play sound).</p>
    <dl>
      <dt id="cp1_1" class="check"><strong>1.1</strong> Provide a mechanism
      to explicitly associate alternatives for content or content
      fragments.</dt>
        <dd id="cp1_1rationale" class="rationale">Authors using the
          elements/attributes in your language must have the ability to
          provide alternatives for any content, be it images, movies, songs,
          running text, whatever.</dd>
      <dt id="cp1_1tech" class="tech">Techniques for 1.1</dt>
        <dd><strong><a name="L1856" id="L1856">T1.1.1</a></strong> In <a
          href="/TR/SVG/index.html#minitoc">SVG</a>, the <code>desc</code>
          element can be used to describe a graphic.</dd>
        <dd><pre><code>&lt;svg width="6in" height="4.5in" viewBox="0 0 600 450"&gt;
  &lt;title&gt;Network&lt;/title&gt;
  &lt;</code><strong><code>desc</code></strong><code>&gt;An example of a computer network based on a hub&lt;/desc&gt;
&lt;/svg&gt;</code></pre>
        </dd>
        <dd><strong><a name="L1894" id="L1894">T1.1.2</a></strong> The
          <code>summary</code> and the <code>caption</code> elements in the
          <a
          href="/TR/xhtml-modularization/abstract_modules.html#s_tablemodule">XHTML
          table module</a> can be used to provide a rich textual description
          of a non-textual media. cf. <a
          href="/TR/WCAG10/#tech-text-equivalent">WCAG 1.0 checkpoint
        1.1</a>.</dd>
        <dd><pre><code>&lt;table border="1"
       </code><strong><code>summary</code></strong><code>="This table gives some statistics about fruit
                flies: average height and weight, and percentage
                with red eyes (for both males and females)." /&gt;
  &lt;</code><strong><code>caption</code></strong><code>&gt;&lt;em&gt;Statistics&lt;/em&gt; about fruit flies&lt;/caption&gt;
  &lt;tr&gt;&lt;th rowspan="2"&gt;&lt;/th&gt;&lt;th colspan="2"&gt;average&lt;/th&gt;
      &lt;th rowspan="2"&gt;red&lt;br&gt;eyes&lt;/th&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;th&gt;height&lt;/th&gt;&lt;th&gt;weight&lt;/th&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;th&gt;males&lt;/th&gt;&lt;td&gt;1.9&lt;/td&gt;&lt;td&gt;0.003&lt;/td&gt;&lt;td&gt;40%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;th&gt;females&lt;/th&gt;&lt;td&gt;1.7&lt;/td&gt;&lt;td&gt;0.002&lt;/td&gt;&lt;td&gt;43%&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</code></pre>
        </dd>
      <dt id="cp1_2" class="check"><strong>1.2</strong> Define
      <em>flexible</em> associations, where a given kind of relationship can
      link to or from objects of varying types without constraint.</dt>
        <dd id="cp1_2rationale" class="rationale"><p id="unconstrained1"><a
          name="unconstrained"></a>Relationships between alternatives should
          be explicit in markup to allow users to select which alternatives
          are useful to them, and should allow multiple types of alternative,
          not just text as an alternative for an image. For example, the HTML
          <code>img</code> element lets you provide a text alternative in the
          alt attribute, but it does not let you explicitly associate images
          to text or markup. To do this people have to put up with less
          adequate mechanisms, perhaps by adding "see figure 1" at the end of
          a paragraph. If the <code>img</code> element could have content,
          like the <code>object</code> element, this would have solved the
          problem to some extent. Another way would have been to add an
          "<code>appliesTo</code>" attribute to the <code>img</code> element,
          allowing you to put the associated image elsewhere in the document.
          Satisfying this checkpoint takes a lot of thought due to its
          subjective nature, but it is very important.</p>
        </dd>
      <dt id="cp1_2tech" class="tech">Techniques for 1.2</dt>
        <dd><p><strong><a name="L1887" id="L1887">T1.2.1</a></strong> In <a
          href="#L1856">technique 1.1.1</a> we showed that the desc element
          in SVG can be used to provide an alternative for a graphic. Using a
          different XML dialect it is possible to add any type of information
          as part of the <code>desc</code>.</p>
        </dd>
        <dd><pre><code>&lt;svg xmlns="http://www.w3.org/2000/svg" xml:lang="en"&gt;
   &lt;g&gt;
       &lt;</code><strong><code>desc</code></strong><code> xmlns:mydoc="http://example.org/mydoc"&gt;
          &lt;mydoc:title id="</code><strong><code>title1</code></strong><code>"&gt;The sales bar chart by region&lt;/mydoc:title&gt;
          &lt;mydoc:para&gt;This description uses markup from the
          &lt;mydoc:emph&gt;mydoc&lt;/mydoc:emph&gt; namespace.&lt;/mydoc:para&gt;
       &lt;/</code><strong><code>desc</code></strong><code>&gt;
   &lt;/g&gt;
&lt;/svg&gt;</code></pre>
        </dd>
        <dd><strong><a name="L1880" id="L1880">T1.2.2</a></strong> In the
          example below, an imaginary mediaExample element allows for any
          kind of content. In the example, those that have been included are
          an image, a textual object and a video.</dd>
        <dd><pre><code>   &lt;mediaExample&gt;
     &lt;Obj xlink:role="http://example.au/equivalenceTypes/image" xlink:href="imageVersion" /&gt;
     &lt;Obj xlink:role="http://example.au/equivalenceTypes/shortText" xlink:href="shortText" /&gt;
     &lt;Obj xlink:role="http://example.au/equivalenceTypes/movie" xlink:href="movie" /&gt;
   &lt;/mediaExample&gt;</code></pre>
        </dd>
    </dl>
  </li>
  <li><h3 id="g2_0" class="guide">Guideline 2. Create semantically-rich
    languages</h3>
    <p>Increased structure in an XML application (i.e., elements and
    attributes that correspond to meaningful terms in the chosen domain)
    allows authors to encode their knowledge in a manner that user agents can
    recognize reliably. XML applications deployed on the Web should include
    linking semantics.</p>
    <dl>
      <dt id="cp2_1" class="check"><strong>2.1</strong> Ensure all semantics
      are captured in markup in a repurposable form.</dt>
        <dd id="cp2_1rationale" class="rationale">XML languages must be
          designed so that they can be presented in a device independent way.
          They must be repurposable with respect to input and output devices,
          as well as spatially independent (don't make the user have to use a
          mouse), temporally independent (don't require input within a finite
          time interval), etc.</dd>
      <dt id="cp2_1tech" class="tech">Techniques for 2.1</dt>
        <dd>See SMIL for instance. 
          <p></p>
        </dd>
      <dt id="cp2_2" class="check"><strong>2.2</strong> Separate presentation
      properties using stylesheet technology/styling mechanisms.</dt>
        <dd id="cp2_2rationale" class="rationale">In non Final-form dialect,
          authors must be able to mark up documents with proper structural
          elements and control presentation with style sheets rather than
          with presentation elements and attributes. This separation of
          content from presentation facilitates the adaptation to users with
          different presentational needs (larger font, better contrast, etc)
          and it also facilitates the maintenance of the pages.</dd>
      <dt id="cp2_2tech" class="tech">Techniques for 2.2</dt>
        <dd><p><strong><a name="L1984" id="L1984">T2.2.2</a></strong>
          Example: <strong>Right</strong></p>
          <p>Support the inclusion and processing of external style sheets
          (note the importance of <a href="#g4_0">Guideline 4</a> on
          exporting semantics in this example, so that the user may override
          the style)</p>
          <pre><em><strong><code>mystyle.css</code></strong></em><code>: news { text-align: center; font: bold Arial }</code></pre>
          <pre><code>&lt;?xml-stylesheet href="</code><strong><code>mystyle.css</code></strong><code>" type="text/css"?&gt; ...
&lt;news&gt;Story 1&lt;/news&gt;
&lt;news&gt;Story 2&lt;/news&gt;</code></pre>
          <p><strong><a name="L19762"
          id="L19762">TW2.2.1</a> </strong>Example: <strong>Wrong</strong></p>
          <p>Do not include presentational attributes and elements in your
          language.</p>
          <pre><code> &lt;news align="center" font="arial" weight="bold"&gt;Story 1&lt;/news&gt;
 &lt;news align="center" font="arial" weight="bold"&gt;Story 2&lt;/news&gt;</code></pre>
          <p></p>
        </dd>
      <dt id="cp2_3" class="check"><strong>2.3</strong> Use the standard XML
      linking and pointing mechanisms (XLink and XPointer). <span
      class="issue">[[<a href="/WAI/PF/XML/issues.html#Using">Note this checkpoint is
      under discussion and may change</a>]</span>]</dt>
        <dd id="cp2_3rationale" class="rationale"><a
          href="/TR/xlink/">Xlink</a> [<a href="#XLINK">XLINK</a>] and <a
          href="/TR/xptr-framework/">XPointer</a> [<a
          href="#XPOINTER">XPTR</a>] have been reviewed for accessibility and
          their linking/pointing semantics may be recognized with
        certainty.</dd>
      <dt id="cp2_3tech" class="tech">Techniques for 2.3</dt>
        <dd><p><strong><a name="L1996" id="L1996">T2.3.2</a></strong>
          Example: <strong>Right</strong></p>
          <p>Using links that can be recognized reliably by XLink
          applications.</p>
          <pre><code>&lt;myxlink </code><strong><code>xmlns:xlink</code></strong><code>="http://www.w3.org/1999/xlink"
         xlink:href="http://mysite/myfile.xml"&gt;
      Current List of references
&lt;/myxlink&gt;</code></pre>
          <p><a name="L19891" id="L19891">TW2.3.1</a> Example.
          <strong>Wrong</strong></p>
          <p>User Agents have no way of knowing this is a link.</p>
          <pre><code>&lt;mylink linkend="http://mysite/myfile.xml"&gt;
      Current List of references 
&lt;/mylink&gt;</code></pre>
          <p></p>
        </dd>
      <dt id="cp2_4" class="check"><strong>2.4</strong> Define element types
      that allow classification and grouping (header, section, list,
      etc).</dt>
        <dd id="cp2_4rationale" class="rationale">Make use of existing
          mechanisms (noting checkpoint <a href="#cp1_2">1.2</a>), or create
          them where necessary, following these guidelines.</dd>
      <dt id="cp2_4tech" class="tech">Techniques for 2.4</dt>
        <dd><a name="L2001" id="L2001">T2.4.1</a> Think in terms of overall
          structure of your documents when you design a new dialect. 
          <pre><code> &lt;-- menu - highest level block element
     appetizer - first child of section, major block element
     entree - second child of section, major block element
     entity meal-sequence - common paragraph level blocks --&gt;
 &lt;!ELEMENT menu (title , ((%meal-sequence;)|  appetizer)+)&gt;
 &lt;!ELEMENT appetizer (title? , ((%meal-sequence;) | entree)+)&gt;</code></pre>
        </dd>
      <dt id="cp2_5" class="check"><strong>2.5</strong> Provide for a full
      containment model with chunks of reasonable size.</dt>
        <dd id="cp2_5rationale" class="rationale">If a document instance is
          fully contained, i.e. adequate wrapper elements around PCDATA, then
          both CSS and XSLT can be used to style content for presentation in
          alternate formats. If content is in reasonable sized containers, it
          enables the document to be skimmed quickly by non- visual readers.
          If a logical hierarchy of elements is used, then a table of
          contents or summary may be generated providing logical access to
          document content.</dd>
      <dt id="cp2_5tech" class="tech">Techniques for 2.5</dt>
        <dd><strong><a name="L2008" id="L2008">T2.5.1</a></strong> In this
          XML Schema example, a document is broken up into a number of
          sections, and a sequence of nest-able sections with a consistent
          structure may be used for both navigation and the automated
          generation of a table of contents to whatever level. 
          <pre><code>&lt;xsd:schema xmlns="http://www.publishing.org"
	 xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"&gt;
 	&lt;xsd:element name="document"&gt;
	  	&lt;xsd:complexType&gt;
	  		&lt;xsd:sequence&gt;
	  			&lt;xsd:element ref="head"/&gt;
	  			&lt;xsd:element ref="section"/&gt;
	  		&lt;/xsd:sequence&gt;
	  	&lt;/xsd:complexType&gt;
	 &lt;/xsd:element&gt;
	 &lt;xsd:element name="head" type="xsd:string"&gt;
	  &lt;xsd:annotation&gt;
	 	 &lt;xsd:documentation&gt;Section title&lt;/xsd:documentation&gt;
	  &lt;/xsd:annotation&gt;
	 &lt;/xsd:element&gt;
	 &lt;xsd:element name="section"&gt;
	  	&lt;xsd:complexType&gt;
	  		&lt;xsd:sequence&gt;
	  			&lt;xsd:element ref="head"/&gt;
	  			&lt;xsd:element ref="section"/&gt;
	  			&lt;xsd:element ref="paragraph" maxOccurs="unbounded"/&gt;
	  		&lt;/xsd:sequence&gt;
	  	&lt;/xsd:complexType&gt;
  &lt;/xsd:element&gt;
	 &lt;xsd:element name="paragraph" type="xsd:string"/&gt;
&lt;/xsd:schema&gt;</code></pre>
        </dd>
      <dt id="cp2_6" class="check"><strong>2.6</strong> Define element types
      that identify important text content.</dt>
        <dd id="cp2_6rationale" class="rationale">Within most documents,
          certain elements are key to its understanding. If these are both
          clear, and identified for machine access, their content can be
          presented to a user to gain a swift understanding of the semantics
          of the element, section and eventually the whole document. Examples
          of such important elements are numbers, dates, titles and
        links.</dd>
      <dt id="cp2_6tech" class="tech">Techniques for 2.6</dt>
        <dd><strong><a name="L2015" id="L2015">T2.6.1</a></strong> Mark up
          your text with more semantics, such as datatype meaning "this is a
          date", or "this is an acronym".<br />
          Code example: Using the <a href="/TR/xmlschema-0/">XML Schema
          language</a> [<a href="#XSCHEMA">XSCHEMA</a>] to identify data
          types, rather than simply leaving them as strings: a fully
          constrained ISBN number: 
          <pre><code>&lt;xsd:simpleType name="</code><strong><code>ISBN-Type</code></strong><code>"&gt;
    &lt;xsd:restriction base="xsd:string"&gt;
        &lt;xsd:pattern value="\d{5}-\d{5}-\d{5}"/&gt;
        &lt;xsd:pattern value="\d{1}-\d{3}-\d{5}-\d{1}"/&gt;
        &lt;xsd:pattern value="\d{1}-\d{2}-\d{6}-\d{1}"/&gt;
    &lt;/xsd:restriction&gt;
&lt;/xsd:simpleType&gt;</code></pre>
        </dd>
      <dt id="cp2_7" class="check"><strong>2.7</strong> Provide a mechanism
      for identifying summary / abstract / title.</dt>
        <dd id="cp2_7rationale" class="rationale">Knowing how to extract that
          information allow User Agents to present it to the end-user, thus
          facilitating browsing of the content (e.g. deciding if yes or no
          the document is of interest).</dd>
      <dt id="cp2_7tech" class="tech">Techniques for 2.7</dt>
        <dd><strong><a name="L2022" id="L2022">T2.7.1</a></strong> Example:
          XML using RDF and <a href="http://dublincore.org/ ">Dublin Core
          elements</a> [<a href="#DC-element">DC-elements</a>]. 
          <pre><code>  &lt;someElement xmlns="http://xmlns.com/example"&gt;
   &lt;rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    </code><strong><code>xmlns:dc</code></strong><code>="http://purl.org/dc/elements/1.1/"&gt;
    &lt;rdf:Description about="http://www.dlib.org/"&gt;
      &lt;</code><strong><code>dc:Title</code></strong><code>&gt;
          D-Lib Program - Research in Digital Libraries
      &lt;/dc:Title&gt;
      &lt;</code><strong><code>dc:Description</code></strong><code>&gt;The D-Lib program supports the community of 
       people with research interests in digital libraries and 
       electronic publishing.&lt;/dc:Description&gt;
      &lt;dc:Publisher&gt;
          Corporation For National Research Initiatives
      &lt;/dc:Publisher&gt;
      &lt;dc:Date&gt;1995-01-07&lt;/dc:Date&gt;
      &lt;dc:Type&gt;World Wide Web Home Page&lt;/dc:Type&gt;
      &lt;dc:Format&gt;text/html&lt;/dc:Format&gt;
      &lt;dc:Language&gt;en&lt;/dc:Language&gt;
    &lt;/rdf:Description&gt;
  &lt;/rdf:RDF&gt;
&lt;!-- .....other xml.... --&gt;
&lt;/someElement&gt;</code></pre>
        </dd>
      <dt id="cp2_8" class="check"><strong>2.8</strong> Don't overload
      element and attribute names.</dt>
        <dd id="cp2_8rationale" class="rationale">If an element name may be
          confused, within the context of the document instance, then it is
          said to be overloaded. If each element name is unique within
          context it is easier to access the document semantics. Note the
          relation to <a href="#cp4_9">checkpoint 4.9</a>.</dd>
      <dt id="cp2_8tech" class="tech">Techniques for 2.8</dt>
        <dd><p><strong><a name="L2038" id="L2038">T2.8.2</a></strong>
          Example: <strong>Right</strong></p>
          <pre><code> &lt;report&gt;
   &lt;invoice&gt;
    &lt;</code><strong><code>price</code></strong><code>&gt;25&lt;/</code><strong><code>price</code></strong><code>&gt;
    &lt;currency&gt;Dollar&lt;/currency&gt;
	....
   &lt;/invoice&gt;
  &lt;description&gt;
   &lt;item&gt;Widgets&lt;/item&gt;
   &lt;</code><strong><code>quantity</code></strong><code>&gt;25&lt;/</code><strong><code>quantity</code></strong><code>&gt;
  &lt;/description&gt;
 &lt;/report&gt;</code></pre>
          <p><strong><a name="L20311" id="L20311">TW2.8.1</a></strong>
          Example: <strong>Wrong</strong></p>
          <pre><code> &lt;report&gt;
   &lt;invoice&gt;
    &lt;</code><strong><code>amount</code></strong><code>&gt;25 dollars&lt;/</code><strong><code>amount</code></strong><code>&gt;
    ....
    &lt;/invoice&gt;
  &lt;description&gt;
   &lt;item&gt;Widgets&lt;/item&gt;
   &lt;</code><strong><code>amount</code></strong><code>&gt;25&lt;/</code><strong><code>amount</code></strong><code>&gt;
  &lt;/description&gt;
 &lt;/report&gt;</code></pre>
          <p>In the example above, the designer of the schema intended the
          first occurrence of the element "amount" to mean 'price' of the
          products purchased and the second occurrence to mean 'quantity' of
          the products purchased.</p>
          <p>In the example above, the meaning of all the elements is clear
          and none of the individuals elements is overloaded.</p>
        </dd>
      <dt id="cp2_9" class="check"><strong>2.9</strong> <a name="cp1_3"
      id="cp1_3"></a>Reuse existing accessible modules, as originally
      specified / intended. <span class="issue">[[<a
      href="/WAI/PF/XML/issues.html#Checkpoint">Note: This checkpoint is under
      discussion, and may be changed to techniques, or may be augmented with
      a list of modules that should be re-used</a>]]</span></dt>
        <dd id="cp2_9rationale" class="rationale">Reusing accessibility
          modules has the advantage that materials produced using your
          language will be accessible to their clients. No need to create
          "new" elements/attributes or re-invent the wheel just to satisfy
          some creative fantasy. There's a non negligible cost for authors
          (the people using your language) to learn new concepts. When using
          modules from other schema, use them with the same semantics as
          originally intended.</dd>
      <dt id="cp2_9tech" class="tech">Techniques for 2.9</dt>
        <dd><strong><a name="L1965" id="L1965">T1.3.1</a></strong> This
          example shows how to use an existing DTD module: the object from
          the XHTML language</dd>
        <dd><pre><code>&lt;!DOCTYPE document SYSTEM "myDTD.dtd" [
    &lt;!ENTITY % qnames 
         PUBLIC "-//W3C//ENTITIES XHTML Qualified Names 1.0//EN" 
                "xhtml-qname-1.mod" &gt;
    &lt;!ENTITY % object 
         PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN" 
                "</code><strong><code>xhtml-object-1.mod</code></strong><code>" &gt;
    %qnames;
    %object;
    ]&gt;
 &lt;i:inventory xmlns:i="http://www.my.org/xmlns/inventory"&gt;
 &lt;i:stockitem&gt;
    etc.
  &lt;</code><strong><code>xhtml:object</code></strong><code>...&gt;  
    to include a picture or movie of the part.</code></pre>
        </dd>
        <dd><strong><a name="L2045" id="L2045">T2.9.1</a></strong> Example:
          reusing SMIL switch 
          <pre><code>  ...
  &lt;par&gt;
    &lt;video src="anchor.mpg" ... /&gt;
    &lt;switch&gt;
      &lt;audio src="HiQuality.wav" systemBitrate="56000" ... /&gt;
      &lt;audio src="MedQuality.wav" systemBitrate="28800" ... /&gt;
      &lt;audio src="LowQuality.wav" ... /&gt;
    &lt;/switch&gt;
  &lt;/par&gt;</code></pre>
        </dd>
      <dt id="cp2_10" class="check"><strong>2.10</strong> Allow association
      of metadata with distinct elements and groups of elements.</dt>
        <dd id="cp2_10rationale" class="rationale">This permits authors to
          make even more semantic associations than what was originally
          intended by the language designer.</dd>
      <dt id="cp2_10tech" class="tech">Techniques for 2.10</dt>
        <dd><strong><a name="L2052" id="L2052">T2.10.1</a></strong> In SVG
          for instance, there is a <code>metadata</code> element where RDF
          statements can be declared, pointing at graphical elements and
          adding more relational semantics (one object linked to another, or
          on top of another) than what is provided by SVG itself. See the <a
          href="/TR/SVG-access/">SVG Accessibility note</a> [<a
          href="#ref-SVG-ACCESS">SVG-access</a>] for examples. 
          <p>Also, by providing ID for all your elements, you allow external
          metadata to point to them.</p>
        </dd>
      <dt id="cp2_11" class="check"><strong>2.11</strong> Specific checkpoint
      for Final-form applications.</dt>
        <dd id="cp2_1rationale1" class="rationale">Languages used only for
          presentation to a certain scope of users and media are called,
          <strong>Final-form</strong> and they should adhere to the following
          provisions: 
          <ul>
            <li>Allow the author to identify by URI the source used to
              generate the final form instance.</li>
            <li>In the application documentation, indicate that final form
              instances SHOULD NOT be served except upon explicit user
              request (e.g., through a configured preference).</li>
            <li>In the application documentation, indicate that final form
              instances SHOULD NOT be the only form used to store information
              persistently; a semantically rich source should be stored
              instead or made available by dereferencing the URI required by
              the first provision of this checkpoint.</li>
          </ul>
        </dd>
      <dt id="cp2_1tech1" class="tech">Techniques for 2.11</dt>
        <dd>The <a
          href="/TR/xsl/slice1.html#section-N697-Tree-Transformations">XSL
          1.0</a> specification [<a href="#XSL10">XSL10</a>] contains the
          following example of such wording. 

          <blockquote cite="http://www.w3.org/TR/xsl/slice1">
            <p>In some implementations of XSL/XSLT, the result of tree
            construction can be output as an XML document. This would allow
            an XML document which contains formatting objects and formatting
            properties to be output. This capability is neither necessary for
            an XSL processor nor is it encouraged. There are, however, cases
            where this is important, such as a server preparing input for a
            known client; for example, the way that a WAP
            (http://www.wapforum.org/faqs/index.htm) server prepares
            specialized input for a WAP capable hand held device. To preserve
            accessibility, designers of Web systems should not develop
            architectures that require (or use) the transmission of documents
            containing formatting objects and properties unless either the
            transmitter knows that the client can accept formatting objects
            and properties or the transmitted document contains a reference
            to the source document(s) used in the construction of the
            document with the formatting objects and properties.</p>
          </blockquote>
        </dd>
    </dl>
  </li>
  <li><h3 id="g3_0" class="guide">Guideline 3. Design an accessible user
    interface.</h3>
    <p>Web content is rapidly shifting from static pages to dynamic pages,
    called Web applications. This is most often done using a scripting
    language based on event callback. The language designers must ensure that
    the model they chose allows for user control of presentation. Always
    ensure that nothing in the presentational aspect of the document attempts
    to restrict user control of how the document instance is accessed.</p>
    <dl>
      <dt id="cp3_1" class="check"><strong>3.1</strong> Provide default style
      sheets for multiple output modalities.</dt>
        <dd id="cp3_1rationale" class="rationale">The additional effort from
          the language designer point of view in providing style sheets which
          can represent an XML document instance in alternate modalities is
          minimal and will have a multiplier benefit for all the authors
          using the language and these style sheets. Readers of your
          documents may prefer audio access, so providing an appropriate
          stylesheet with your schema which will allow those readers to
          utilize synthetic speech to produce a clear rendering of the
          content.</dd>
      <dt id="cp3_1tech" class="tech">Techniques for 3.1</dt>
        <dd><strong><a name="L2059" id="L2059">T3.1.1</a></strong> Example:
          See the <a href="http://www.w3.org/TR/CSS2/sample.html">sample
          style sheet for HTML 4.0</a> [<a href="#HTML-style">HTML-style</a>]
          provided with the CSS2 specification.</dd>
      <dt id="cp3_2" class="check"><strong>3.2</strong> Define navigable
      structures that allow discrete, sequential, structured, and search
      navigation functionalities.</dt>
        <dd id="cp3_2rationale" class="rationale">Navigable structures are
          the key elements used for navigation around an XML application.
          Define element types that allow classification and grouping, or
          re-use existing accessible grouping and classification modules.</dd>
      <dt id="g3_2tech" class="tech">Techniques for 3.2</dt>
        <dd><strong><a name="L2066" id="L2066">T3.2.1</a></strong> Example:
          See how the <a
          href="http://www.loc.gov/nls/z3986/index.html">Digital Talking
          Book</a> [<a href="#DTB">DTB</a>] provides elements for navigable
          structures.</dd>
      <dt id="cp3_3" class="check"><strong>3.3</strong> Use CSS or XSLT to
      describe a basic outline view.<br />
      </dt>
        <dd id="cp3_3rationale" class="rationale">The language designer is
          the best placed to provide a mapping of the new language constructs
          to a basic outline format, which will facilitate the deployment of
          content by making it understandable for all classes of users.</dd>
      <dt id="cp3_3tech" class="tech">Techniques for 3.3</dt>
        <dd><a name="L2118" id="L2118"><strong>T3.3.1</strong></a> The
          following stylesheet provides a transformation to produce an HTML
          outline or table of contents listing the title of each section, and
          nesting them to match an original document example.</dd>
        <dd><pre><code>&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                version="1.0"&gt;
&lt;xsl:output method="html"/&gt;
&lt;xsl:template match="/"&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Outline of x&lt;/title&gt;
&lt;body&gt;
 &lt;-- This provides the link back to the full source document --&gt;
 &lt;p&gt;&lt;a href="source.xml"&gt;full source of document&lt;/a&gt;&lt;/p&gt;
 &lt;h1&gt;Outline view&lt;/h1&gt;
 &lt;p&gt;  &lt;xsl:for-each select="//section"&gt;
      &lt;xsl:number level="multiple" count="section" format="1.1.1"/&gt;&nbsp;
      &lt;xsl:value-of select="title"/&gt; 
      &lt;br /&gt;
   &lt;/xsl:for-each&gt;
 &lt;/p&gt;
 &lt;xsl:apply-templates/&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="*"/&gt;
&lt;/xsl:stylesheet&gt;</code></pre>
        </dd>
      <dt id="cp3_4" class="check"><strong>3.4</strong> Use a
      device-independent interaction and events model / module.</dt>
        <dd id="cp3_4rationale" class="rationale">Any XML application which
          contains user interaction may exclude readership if presumptions
          are made about the technology used to access that application. What
          happens when the application only support mouse interaction, and
          the user is not mouse bound? The result could be lost sales, it
          will be a loss of interest and a search for alternatives.</dd>
      <dt id="cp3_4tech" class="tech">Techniques for 3.4</dt>
        <dd><strong><a name="L2129" id="L2129">T3.4.1</a></strong> Using <a
          href="http://www.w3.org/TR/DOM-Level-2-Events/events.html">DOM2
          event</a> the right way in <a
          href="http://www.w3.org/TR/SVG/interact.html">SVG</a>. 
          <pre><code>&lt;script type="text/ecmascript"&gt; function DoOnActivate(evt) { .. } &lt;/script&gt;

&lt;g onactivate="</code><strong><code>DoOnActivate</code></strong><code>(evt)"&gt;
  &lt;rect id="button" x="500" y="500" width="250" height="40"/&gt; 
&lt;/g&gt;</code></pre>
        </dd>
      <dt id="cp3_5" class="check"><strong>3.5</strong> Allow for user
      control of interaction timing - rate of change, external events
      triggering document changes, etc.</dt>
        <dd id="cp3_5rationale" class="rationale">If an XML application
          presumes that all readers will take in content in a fixed time
          period, will read at a certain rate, or access each page in a
          certain time, then readers and users of that application will be
          lost.</dd>
      <dt id="cp3_5tech" class="tech">Techniques for 3.5</dt>
        <dd><strong><a name="L2136" id="L2136">T3.5.1</a></strong> Ensure and
          promote the work the user agent has to do to control - on behalf of
          the end-user - the rate of change of content presentation, perhaps
          using element attribute for pause facility or settable rate to
          allow the user control of all interactions. Fixed time period
          time-outs are not popular. See the <a
          href="http://www.w3.org/TR/smil-animation/">SMIL-Animation</a>
          specification [<a href="#SMIL-anim">SMIL-anim</a>] for examples of
          such design.</dd>
    </dl>
  </li>
  <li><h3 id="g4_0" class="guide">Guideline 4 Document and export
    semantics</h3>
    <p>Make sure that all people can understand your design and map to and
    from your elements, and easily make assertions about them. Furthermore,
    make sure that you provide your own first party assertions about your
    languages: for example, don't make users guess an element's purpose.</p>
    <dl>
      <dt id="cp4_3" class="check"><strong>4.1</strong> Provide explicit
      human readable definitions for markup semantics.</dt>
        <dd id="cp4_3rationale" class="rationale">Any schema which is
          designed by a single person in a reasonable period will only be
          understood by that person designing it. When exposed to document
          authors, interpretations will vary. If the schema designer wishes
          document authors to utilize the same semantics then those semantics
          require documentation. The better the quality of that
          documentation, the more likely the shared understanding.</dd>
      <dt id="cp4_3tech" class="tech">Techniques for 4.3</dt>
        <dd><strong><a name="L215711" id="L215711">T4.3.1</a></strong>
          Example: TREX 
          <pre><code>&lt;element name="paragraph"&gt;
    &lt;xsd:annotation&gt;the lowest level block container.&lt;/xsd:annotation&gt;
    &lt;empty/&gt;
&lt;/element&gt;</code></pre>
        </dd>
      <dt id="cp4_1" class="check"><strong>4.2</strong> Ensure that at least
      one version of the XML application's documentation conforms to at least
      level Double-A of the Web Content Accessibility Guidelines 1.0 [<a
      href="#ref-WCAG10">WCAG10</a>].</dt>
        <dd id="cp4_1rationale" class="rationale">Everybody should be able to
          read and understand a technical specification, even one that is
          purely intended for a particular class of users.</dd>
      <dt id="cp4_1tech" class="tech">Techniques for 4.1</dt>
        <dd><strong><a name="L21431" id="L21431">T4.1.1</a></strong> For
          instance, blind users routinely author Web content that is intended
          for sighted users, and they can do so because the HTML and the CSS
          specifications are accessible (well structured, description of
          pictures, etc).</dd>
      <dt id="cp4_2" class="check"><strong>4.3</strong> Provide a
      machine-understandable means/mechanism to get from a document instance
      to the schema.</dt>
        <dd id="cp4_2rationale" class="rationale">This allows programs to
          automatically retrieve the documentation of a language.</dd>
      <dt id="cp4_2tech" class="tech">Techniques for 4.2</dt>
        <dd><strong><a name="L21501" id="L21501">T4.2.2</a></strong> Example:
          Uses the W3C XML Schema language as the schema, referencing it via
          the xsi:schemaLocation attribute. 
          <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;my:doc 
    xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
   	xsi:</code><strong><code>schemaLocation</code></strong><code>="http://www.example.org/schemas/doc.xsd"
   	xmlns:my="http://www.jenitennison.com/"
    xmlns="http://www.w3.org/1999/xhtml"&gt;</code></pre>
        </dd>
      <dt id="cp4_4" class="check"><strong>4.4</strong> Use a schema language
      that can support explicit human-readable documentation or annotation of
      semantics.</dt>
        <dd id="cp4_4rationale" class="rationale">It is important that the
          schema language allows the language designer to explicitly attach
          documentation to elements and attributes.</dd>
      <dt id="cp4_4tech" class="tech">Techniques for 4.4</dt>
        <dd><strong><a name="L21641" id="L21641">T4.4.1</a></strong> Example
          <strong>Right</strong>: The need for the head element is clearly
          described. 
          <pre><code>&lt;xsd:element name="head" type="xsd:string"&gt;
 &lt;xsd:annotation&gt;
	&lt;xsd:</code><strong><code>documentation</code></strong><code> xml:lang="en-US"&gt;Title of the section.
    	Required for table of contents generation.
	&lt;/xsd:documentation&gt;
 &lt;/xsd:annotation&gt;
&lt;/xsd:element&gt;</code></pre>
        </dd>
        <dd><strong><a name="L2058" id="L2058">T4.4.2</a></strong> Example
          <strong>Wrong</strong>: In the following DTD extract there is
          documentation available but only by reading the source DTD. It is
          possible to reliably extract only some of this and present it to a
          user automatically. It is also not possible to provide rich
          information here - it is plain text without any of rich media
          features necessary to provide high-level conformance to WCAG.</dd>
        <dd><pre><code>&lt;!-- To avoid problems with text-only UAs as well as
    to make image content understandable and navigable
    to users of non-visual UAs, you need to provide
   a description with ALT, and avoid server-side image maps --&gt;

&lt;!ELEMENT IMG - O EMPTY                -- Embedded image --&gt;
&lt;!ATTLIST IMG
  %attrs;                              -- %coreattrs, %i18n, %events --
  src         %URI;          #REQUIRED -- URI of image to embed --
  alt         %Text;         #REQUIRED -- short description --
  longdesc    %URI;          #IMPLIED  -- link to long description
                                          (complements alt) --
  name        CDATA          #IMPLIED  -- name of image for scripting --
  height      %Length;       #IMPLIED  -- override height --
  width       %Length;       #IMPLIED  -- override width --
  usemap      %URI;          #IMPLIED  -- use client-side image map --
  ismap       (ismap)        #IMPLIED  -- use server-side image map --  &gt;
&lt;!-- USEMAP points to a MAP element which may be in this document
  or an external document, although the latter is not widely supported --&gt;</code></pre>
        </dd>
      <dt id="cp4_5" class="check"><strong>4.5</strong> Provide semantic
      relationships to other schema where appropriate and possible.</dt>
        <dd id="cp4_5rationale" class="rationale">This allows the authors
          using the language to reuse their existing knowledge and tools.</dd>
      <dt id="cp4_5tech" class="tech">Techniques for 4.5</dt>
        <dd><strong><a name="L21711" id="L21711">T4.5.1</a></strong> This can
          be done implicitly via subclassing/derivation of existing types, by
          asserting equivalence of type (e.g. SVG <code>title</code> and SMIL
          <code>title</code>) or by mapping to well known semantics.</dd>
        <dd>Example: mapping the Menu example provided in the Introduction to
          XHTML using XSLT: 
          <pre><code>&lt;html xsl:version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns="http://www.w3.org/1999/xhtml&gt; 
&lt;head&gt;
  &lt;title&gt;Mapping of language MenuML to html&lt;/title&gt;
&lt;body&gt; </code><strong><code>   
    &lt;h1&gt;Menu of: &lt;xsl:value-of select="menu/"/&gt;&lt;/h1&gt;</code></strong><code>   
    </code><strong><code>&lt;h2&gt;Appetizer: &lt;xsl:value-of select="menu/appetizer/"/&gt;&lt;/h2&gt;</code></strong><code>   etc...
&lt;/body&gt;
&lt;/html&gt;</code></pre>
        </dd>
      <dt id="cp4_6" class="check"><strong>4.6</strong> Document all features
      of the XML application that benefit accessibility. <br />
      </dt>
        <dd id="cp4_6rationale" class="rationale">This is useful in order to
          foster the development of state of the art assistive technologies
          to identify all the features of a new language that make it more
          accessible.</dd>
      <dt id="cp4_6tech" class="tech">Techniques for 4.6</dt>
        <dd><strong><a name="L21781" id="L21781">T4.6.1</a></strong> SVG has
          provided <a href="/TR/2000/CR-SVG-20001102/access">a good example
          of this</a> [<a href="#SVG10-acce">SVG10-access</a>] being a part
          of the recommendation. For W3C Working drafts, include and document
          those specific features which positively aid accessibility.</dd>
      <dt id="cp4_7" class="check"><strong>4.7</strong> Include accessibility
      requirements in conformance requirements.</dt>
        <dd id="cp4_7rationale" class="rationale">This promotes the
          development of accessible content in the community caring about
          conformance.</dd>
      <dt id="cp4_7tech" class="tech">Techniques for 4.7</dt>
        <dd><strong><a name="L21851" id="L21851">T4.7.1</a></strong> SVG has
          specific accessibility requirements as <a
          href="/TR/SVG/conform.html">a part</a> [<a
          href="#SVG10-acce">SVG10-access</a>] of the overall requirement
          document. When the requirements are drawn up, specific clauses need
          to be included which clearly state accessibility requirements 
          <p><strong><a name="T4.7.2" id="T4.7.2">T4.7.2</a></strong> A more
          detailed explanation is given in <a
          href="/WAI/UA/UAAG10/conformance#include-uaag-reqs">section
          3.3 of the User Agent Accessibility Guidelines</a> [<a
          href="#ref-UAAG10">UAAG10</a>]</p>
        </dd>
      <dt id="cp4_8" class="check"><strong>4.8</strong> Document techniques
      for WCAG, ATAG, and UAAG with respect to the XML application.</dt>
        <dd id="cp4_8rationale" class="rationale">The WAI suite of
          accessibility guidelines [<a href="#ref-WCAG10">WCAG</a>],[<a
          href="#ATAG10">ATAG</a>],[<a href="#ref-UAAG10">UAAG</a>] contain
          detailed descriptions as to how to satisfy each individual
          document's requirements. Therefore, it is important to review your
          XML application to ensure that you have implemented a relevant
          technique for each checkpoint in the WAI suite of accessibility
          guidelines. For example, you could show how a (hypothetical)
          instance of your application conforms to WCAG, how an authoring
          tool which implements your application would enable an author to
          create accessible content; how a user agent capable of supporting
          your application must conform to UAAG, etc.</dd>
      <dt id="cp4_8tech" class="tech">Techniques for 4.8</dt>
        <dd><strong><a name="L21921" id="L21921">T4.8.1</a></strong> Still
          using the MenuML language, here are examples of WCAG
          technique<em>s</em> 
          <ul>
            <li><em>WCAG checkpoint 1.1</em>: Provide a text equivalent for
              every non-text element 
              <p><em>MenuML technique</em>: use the content of the
              <code>photo</code> element to indicate the textual equivalent
              of the picture.</p>
            </li>
            <li><em>WCAG checkpoint 3.5</em>: Use header elements to convey
              document structure and use them according to specification. 
              <p><em>MenuML technique</em>: use the <code>appetizer</code>
              element to introduce a new appetizer, not a <code>para</code>
              and some bigger font</p>
            </li>
          </ul>
        </dd>
      <dt id="cp4_9" class="check"><strong>4.9</strong> Do not assume that
      element or attribute names provide any information about element
      semantics.</dt>
        <dd id="cp4_9rationale" class="rationale">An element named may have a
          fully contextualized meaning for the schema author, but is unlikely
          to mean much to someone who does not speak the language of the
          author. Equally, taken out of context, without semantic
          explanation, element names often lose their meaning. Simply naming
          an element is not enough to assure that document authors will
          utilize that element in semantic conformance with the schema
          authors intent. It is likely that confusion and misinterpretation
          will arise if element or attribute names are relied upon to
          document a schema.</dd>
      <dt id="cp4_9tech" class="tech">Techniques for 4.9</dt>
        <dd><strong><a name="L21991" id="L21991">TW4.9.1</a></strong> For
          example, using TREX, avoid colloquial element names. 
          <p>Example: <strong>Wrong</strong></p>
          <pre><code>&lt;element name="paragraph"&gt;
    &lt;xsd:annotation&gt;
    &lt;xsd:documentation&gt;paragraph&lt;/xsd:documentation&gt;
    &lt;/xsd:annotation&gt;
    &lt;empty/&gt;
  &lt;/element&gt;</code></pre>
          <p>Here the element name has been described using the element name
          only, which adds no semantic value.</p>
          <p><strong><a name="L22061" id="L22061">T4.9.2</a></strong>
          Example: <strong>Right</strong></p>
          <pre><code>&lt;element name="paragraph"&gt;
    &lt;xsd:annotation&gt;
    &lt;xsd:documentation&gt;The lowest level block container.
    &lt;/xsd:documentation&gt;
    &lt;/xsd:annotation&gt;
    &lt;empty/&gt;
  &lt;/element&gt;</code></pre>
          <p>Here the element name has been described in an alternate form to
          clarify semantics rather than re-enforce the name by repeating
          it.</p>
        </dd>
      <dt id="cp4_10" class="check"><strong>4.10</strong> Document navigable
      structures. Describe how discrete, sequential, structured, and search
      navigation mechanisms should work.</dt>
        <dd id="cp4_10rationale" class="rationale">In order to navigate
          around a significant document, it is helpful to the reader if they
          know what elements are available for such navigation.</dd>
      <dt id="cp4_10tech" class="tech">Techniques for 4.10</dt>
        <dd><strong><a name="L22131" id="L22131">T4.10.1</a></strong> Random
          access to any part of a document via a detailed table of contents,
          numbered headings which may be searched for, a hierarchical view
          enabling fast access to sought parts, and a search capability aid
          in this.</dd>
    </dl>
  </li>
</ul>
<hr />

<h2 id="Appendices">Appendices</h2>

<h3 id="techniques">Appendix A: Techniques Rationale</h3>

<p>In the presentation of guidelines for XML accessibility, we try to
separate abstract guidelines from implementation techniques. This allows us
to talk about the general guideline principles without spending the time
up-front to solve the implementation issues.</p>

<p>In fact, there are several techniques for achieving the same result and
people's decision will be a function of time and product available and their
own commitment to access.</p>

<p>For instance, if an XML designer want to create some kind of "list"
element in a given markup, this can be implemented using various
techniques:</p>
<ul>
  <li>using the XHTML namespace and its <ins>elements</ins> (e.g. xhtml:ul,
    xhtml:li)</li>
  <li>invent new constructs but provide an XSLT binding (e.g. to a HTML UL/LI
    pair of element)</li>
  <li>using XML/RDF Schema (if a list primitive is available; or through a
    new schema if a primitive is unavailable)</li>
  <li>using Architectural forms with support for list semantics</li>
  <li>etc</li>
</ul>

<h3><a name="detaildefs" id="detaildefs">Appendix B: Glossary</a></h3>

<p>The source of definitions used is the <a
href="/WAI/GL/Glossary/printable">WAI Glossary</a> [<a
href="#L5705">GLOSS</a>]</p>

<h3 id="acknowledgments">Appendix C: Acknowledgments</h3>

<p>In addition to the editors, the following people have contributed directly
to the content of this document:</p>

<p>Kynn Bartlett , Astrid Callista, Geoff Freed, Al Gilman, Vijay Gummadi,
Katie Haritos-Shea, Ian Jacobs, Chris Lilley, William Loughborough, Jim Ley,
Dave Pawson, Gregory J. Rosmaita, Michael Shaefer, Aaron Swartz and Carlos A.
Velasco.</p>

<h3><a name="references" id="references">Appendix D: References</a></h3>
<dl>
  <dt>[<a name="ATAG10" id="ATAG10">ATAG10</a>]</dt>
    <dd>"<a href="/TR/2000/REC-ATAG10-20000203/">Authoring Tool Accessibility
      Guidelines 1.0</a>", J. Treviranus, C. McCathieNevile, I. Jacobs, and
      J. Richards, eds., 3 February 2000. This W3C Recommendation is
      http://www.w3.org/TR/2000/REC-ATAG10-20000203</dd>
  <dt><a name="ref-ATAG10-TECHS" id="ref-ATAG10-TECHS">[ATAG10-TECHS]</a></dt>
    <dd>"<a href="/TR/ATAG10-TECHS/">Techniques for Authoring Tool
      Accessibility Guidelines 1.0</a>," J. Treviranus, J. Richards, I.
      Jacobs, and C. McCathieNevile eds. The latest version is available at
      http://www.w3.org/TR/ATAG10-TECHS</dd>
  <dt>[<a name="DC-element" id="DC-element">DC-elements</a>]</dt>
    <dd>"<a href="http://dublincore.org/documents/dces/">Dublin Core Metadata
      Element Set, Version 1.1: Reference Description</a>" DCMI
      Recommendation, 2 July 1999, available at
      http://dublincore.org/documents/dces/</dd>
  <dt>[<a name="DTB" id="DTB">DTB</a>]</dt>
    <dd>"<a href="http://www.loc.gov/nls/z3986/index.html">Digital Talking
      Book</a>" ANSI/NISO specification Z39.86. Available at
      http://www.loc.gov/nls/z3986/index.html</dd>
  <dt><a name="L5705" id="L5705">[GLOSS]</a></dt>
    <dd><a href="/WAI/GL/Glossary/printable">WAI Glossary</a>. An internal
      working draft. K Haritos-Shea, C. McCathieNevile, eds. Available at
      http://www.w3.org/WAI/GL/Glossary/printable</dd>
  <dt>[<a name="HTML-acces" id="HTML-acces">HTML-access</a>]</dt>
    <dd>"<a href="/WAI/References/HTML4-access">HTML 4.0 Accessibility
      Improvements</a>", I. Jacobs, J. Brewer, D. Dardailler. Available at
      http://www.w3.org/WAI/References/HTML4-access</dd>
  <dt>[<a name="HTML-style" id="HTML-style">HTML-style</a>]</dt>
    <dd>"<a href="/TR/CSS2/sample.html">A sample CSS style sheet for HTML
      4.0</a>" provided as an informative appendix to the CSS 2
      specification. Available at http://www.w3.org/TR/CSS2/sample</dd>
  <dt>[<a name="SMIL-anim" id="SMIL-anim">SMIL-anim</a>]</dt>
    <dd>"<a href="/TR/smil-animation/">SMIL Animation</a>", P. Schmitz, A.
      Cohen eds. W3C Recommendation 4 September 2001, available at
      http://www.w3.org/TR/2001/REC-smil-animation-20010904/</dd>
  <dt><a name="ref-SVG-ACCESS" id="ref-SVG-ACCESS">[SVG-ACCESS]</a></dt>
    <dd>"<a href="/TR/SVG-access/">Accessibility of Scalable Vector
      Graphics</a>", C. McCathieNevile, M.-R. Koivunen, eds. W3C Note
      available at http://www.w3.org/TR/SVG-access. The latest editors'
      version is available at http://www.w3.org/1999/09/SVG-access.</dd>
  <dt><a name="SVG11" id="SVG11">[SVG10]</a></dt>
    <dd>"<a href="/TR/2000/CR-SVG-20000802/">Scalable Vector Graphics 1.0
      Specification</a>", J. Ferraiolo, ed., 4 September 2001. This W3C
      Recommendation is available at
      http://www.w3.org/TR/2001/REC-SVG-20010904/</dd>
  <dt>[<a name="SVG10-acce" id="SVG10-acce">SVG10-access</a>]</dt>
    <dd><a href="/TR/SVG/access">SVG 1.0 Appendix H - Accessibility
      Support</a>. An appendix to the SVG 1.0 specification [<a
      href="#SVG11">SVG10</a>] Available at
      http://www.w3.org/TR/2001/REC-SVG-20010904/access</dd>
  <dt><a name="ref-UAAG10" id="ref-UAAG10">[UAAG10]</a></dt>
    <dd>"<a href="/WAI/UA/UAAG10/">User Agent Accessibility Guidelines</a>,"
      J. Gunderson, I. Jacobs, E. Hansen eds. The latest version of the User
      Agent Accessibility Guidelines is available at
      http://www.w3.org/WAI/UA/UAAG10.</dd>
  <dt><a name="ref-UAAG10-TECHS" id="ref-UAAG10-TECHS">[UAAG10-TECHS]</a></dt>
    <dd>"<a href="/TR/UAAG10-TECHS/">Techniques for User Agent Accessibility
      Guidelines 1.0</a>," J. Gunderson, I. Jacobs, E. Hansen eds. The <a
      href="/TR/UAAG10-TECHS/">latest version of Techniques for User Agent
      Accessibility Guidelines 1.0</a> is available at
      http://www.w3.org/TR/UAAG10-TECHS/.</dd>
  <dt><a name="ref-WCAG10" id="ref-WCAG10">[WCAG10]</a></dt>
    <dd>"<a href="/TR/1999/WAI-WEBCONTENT-19990505/">Web Content Accessibility
      Guidelines 1.0</a>," W. Chisholm, G. Vanderheiden, and I. Jacobs, eds.,
      5 May 1999. This Recommendation is
      http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505. The latest version
      is available at http://www.w3.org/TR/WCAG10/.</dd>
  <dt><a name="ref-WCAG10-TECHS" id="ref-WCAG10-TECHS">[WCAG10-TECHS]</a></dt>
    <dd>"<a href="/TR/WCAG10-TECHS/">Techniques for Web Content Accessibility
      Guidelines 1.0</a>," W. Chisholm, G. Vanderheiden, and I. Jacobs, eds.
      The <a href="/TR/WCAG10-TECHS/">latest version</a> is available at
      http://www.w3.org/TR/WCAG10-TECHS/.</dd>
  <dt>[<a name="XLINK" id="XLINK">XLINK</a>]</dt>
    <dd>"<a href="/TR/xlink/">XML Linking Language (XLink) Version 1.0</a>",
      S. DeRose, E. Maler, D. Orchard eds. W3C Recommendation 27 June 2001,
      available at http://www.w3.org/TR/2001/REC-xlink-20010627/</dd>
  <dt>[<a name="XPOINTER" id="XPOINTER">XPTR</a>]</dt>
    <dd>"<a href="/TR/xptr-framework/">XPointer Framework</a>", P. Grosso, E.
      Maler, J. Marsh, N. Walsh eds. The latest version of this W3C Working
      draft is available at http://www.w3.org/TR/xptr-framework/</dd>
  <dt>[<a name="XSCHEMA" id="XSCHEMA">XSCHEMA</a>]</dt>
    <dd>"<a href="/TR/xmlschema-0/">XML Schema</a>", D. Fallside ed. W3C
      Recommendation 2 May 2001, available at
      http://www.w3.org/TR/xmlschema-0/</dd>
  <dt>[<a name="XSL10" id="XSL10">XSL10</a>]</dt>
    <dd>"<a href="/TR/xsl/">Extensible Stylesheet Language (XSL)Version
      1.0</a>", S.Adler et al. W3C Recommendation 15 October 2001, available
      at http://www.w3.org/TR/2001/REC-xsl-20011015/</dd>
</dl>

<h3><a name="Appendix" id="Appendix"
href="/TR/2001/WD-xmlgl-20010829">Appendix E: Changes from the 28 August 2001
Working Draft</a></h3>

<p>These changes were decided by the PFWG based on the <a
href="/WAI/PF/XML/issues.html">XAG issues list</a>.</p>
<dl>
  <dt>Editorial Changes</dt>
    <dd>Changes were made to the text of several checkpoints: 
      <ul>
        <li>Checkpoint 2.8</li>
        <li>Checkpoint 2.11</li>
        <li>Checkpoint 3.1</li>
        <li>Checkpoint 4.2 (which was checkpoint 4.1)</li>
        <li>Checkpoint 4.6</li>
      </ul>
    </dd>
    <dd>Checkpoints 4.1, 4.2 and 4.3 were reordered</dd>
    <dd>Major issues now noted in document</dd>
    <dd>The Abstract, Introduction and Problem Statement sections were
      substantially rewritten</dd>
    <dd>New Section in Introduction: relation to other WAI guidelines</dd>
    <dd>Definition Section changed to reference to WAI glossary</dd>
    <dd>Change History added</dd>
    <dd>List of Checkpoints added as an appendix</dd>
    <dd>New References section</dd>
  <dt>Substantive Changes</dt>
    <dd>Checkpoint 2.11 added</dd>
    <dd>Checkpoint 1.3 merged into checkpoint 2.9</dd>
</dl>

<h3><a name="checklist" id="checklist">Appendix F: List of
Checkpoints</a></h3>
<dl>
  <dt>Guideline 1: Ensure that authors can associate multiple media objects
  as alternatives</dt>
    <dd><ul>
        <li>1.1 Provide a mechanism to explicitly associate alternatives for
          content or content fragments.</li>
        <li>1.2 Define flexible associations, where a given kind of
          relationship can link to or from objects of varying types without
          constraint.</li>
      </ul>
    </dd>
  <dt>Guideline 2. Create semantically-rich languages</dt>
    <dd><ul>
        <li>2.1 Ensure all semantics are captured in markup in a
          repurposable form.</li>
        <li>2.2 Separate presentation properties using stylesheet
          technology/styling mechanisms.</li>
        <li>2.3 Use the standard XML linking and pointing mechanisms (XLink
          and XPointer).</li>
        <li>2.4 Define element types that allow classification and grouping
          (header, section, list, etc).</li>
        <li>2.5 Provide for a full containment model with chunks of
          reasonable size.</li>
        <li>2.6 Define element types that identify important text
        content.</li>
        <li>2.7 Provide a mechanism for identifying summary / abstract /
          title.</li>
        <li>2.8 Don't overload element and attribute names.</li>
        <li>2.9 Reuse existing accessible modules, as originally specified /
          intended.</li>
        <li>2.10 Allow association of metadata with distinct elements and
          groups of elements.</li>
        <li>2.11 Specific checkpoint for Final-form applications.</li>
      </ul>
    </dd>
  <dt>Guideline 3. Design an accessible user interface</dt>
    <dd><ul>
        <li>3.1 Provide default style sheets for multiple output
        modalities.</li>
        <li>3.2 Define navigable structures that allow discrete, sequential,
          structured, and search navigation functionalities.</li>
        <li>3.3 Use CSS or XSLT to describe a basic outline view</li>
        <li>3.4 Use a device-independent interaction and events model /
          module.</li>
        <li>3.5 Allow for user control of interaction timing - rate of
          change, external events triggering document changes, etc.</li>
      </ul>
    </dd>
  <dt>Guideline 4 Document and export semantics</dt>
    <dd><ul>
        <li>4.1 Provide explicit human readable definitions for markup
          semantics.</li>
        <li>4.2 Ensure that at least one version of the XML application's
          documentation conforms to at least level Double-A of the Web
          Content Accessibility Guidelines 1.0 [WCAG10].</li>
        <li>4.3 Provide a machine-understandable means/mechanism to get from
          a document instance to the schema.</li>
        <li>4.4 Use a schema language that can support explicit
          human-readable documentation or annotation of semantics.</li>
        <li>4.5 Provide semantic relationships to other schema where
          appropriate and possible.</li>
        <li>4.6 Document all features of the XML application that benefit
          accessibility.</li>
        <li>4.7 Include accessibility requirements in conformance
          requirements.</li>
        <li>4.8 Document techniques for WCAG, ATAG, and UAAG with respect to
          the XML application.</li>
        <li>4.9 Do not assume that element or attribute names provide any
          information about element semantics.</li>
        <li>4.10 Document navigable structures. Describe how discrete,
          sequential, structured, and search navigation mechanisms should
        work</li>
      </ul>
    </dd>
</dl>

<p>[<a href="#toc">contents</a>]</p>

<p></p>
</body>
</html>