camelpunch-markup_validity 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. data/.autotest +23 -0
  2. data/CHANGELOG.rdoc +22 -0
  3. data/Manifest.txt +105 -0
  4. data/README.rdoc +101 -0
  5. data/Rakefile +15 -0
  6. data/lib/markup_validity.rb +12 -0
  7. data/lib/markup_validity/MarkUp.html +1095 -0
  8. data/lib/markup_validity/SCHEMA.html +90 -0
  9. data/lib/markup_validity/assertions.rb +32 -0
  10. data/lib/markup_validity/examples.html +25 -0
  11. data/lib/markup_validity/rspec.rb +77 -0
  12. data/lib/markup_validity/templates.html +15 -0
  13. data/lib/markup_validity/validator.rb +65 -0
  14. data/lib/markup_validity/xframes-1.xsd +166 -0
  15. data/lib/markup_validity/xhtml-access-1.xsd +43 -0
  16. data/lib/markup_validity/xhtml-applet-1.xsd +66 -0
  17. data/lib/markup_validity/xhtml-attribs-1.xsd +67 -0
  18. data/lib/markup_validity/xhtml-base-1.xsd +31 -0
  19. data/lib/markup_validity/xhtml-basic-form-1.xsd +195 -0
  20. data/lib/markup_validity/xhtml-basic-table-1.xsd +169 -0
  21. data/lib/markup_validity/xhtml-basic10-model-1.xsd +385 -0
  22. data/lib/markup_validity/xhtml-basic10-module-redefines-1.xsd +61 -0
  23. data/lib/markup_validity/xhtml-basic10-modules-1.xsd +233 -0
  24. data/lib/markup_validity/xhtml-basic10.xsd +99 -0
  25. data/lib/markup_validity/xhtml-basic11-model-1.xsd +622 -0
  26. data/lib/markup_validity/xhtml-basic11-modules-1.xsd +508 -0
  27. data/lib/markup_validity/xhtml-basic11.xsd +105 -0
  28. data/lib/markup_validity/xhtml-bdo-1.xsd +72 -0
  29. data/lib/markup_validity/xhtml-blkphras-1.xsd +155 -0
  30. data/lib/markup_validity/xhtml-blkpres-1.xsd +32 -0
  31. data/lib/markup_validity/xhtml-blkstruct-1.xsd +44 -0
  32. data/lib/markup_validity/xhtml-charent-1.xsd +38 -0
  33. data/lib/markup_validity/xhtml-copyright-1.xsd +29 -0
  34. data/lib/markup_validity/xhtml-csismap-1.xsd +91 -0
  35. data/lib/markup_validity/xhtml-datatypes-1.xsd +177 -0
  36. data/lib/markup_validity/xhtml-edit-1.xsd +34 -0
  37. data/lib/markup_validity/xhtml-events-1.xsd +130 -0
  38. data/lib/markup_validity/xhtml-form-1.xsd +321 -0
  39. data/lib/markup_validity/xhtml-frames-1.xsd +113 -0
  40. data/lib/markup_validity/xhtml-framework-1.xsd +62 -0
  41. data/lib/markup_validity/xhtml-hypertext-1.xsd +47 -0
  42. data/lib/markup_validity/xhtml-iframe-1.xsd +68 -0
  43. data/lib/markup_validity/xhtml-image-1.xsd +40 -0
  44. data/lib/markup_validity/xhtml-inlphras-1.xsd +158 -0
  45. data/lib/markup_validity/xhtml-inlpres-1.xsd +34 -0
  46. data/lib/markup_validity/xhtml-inlstruct-1.xsd +45 -0
  47. data/lib/markup_validity/xhtml-inlstyle-1.xsd +22 -0
  48. data/lib/markup_validity/xhtml-inputmode-1.xsd +35 -0
  49. data/lib/markup_validity/xhtml-lat1.ent +196 -0
  50. data/lib/markup_validity/xhtml-legacy-1.xsd +97 -0
  51. data/lib/markup_validity/xhtml-link-1.xsd +45 -0
  52. data/lib/markup_validity/xhtml-list-1.xsd +94 -0
  53. data/lib/markup_validity/xhtml-meta-1.xsd +54 -0
  54. data/lib/markup_validity/xhtml-metaAttributes-1.xsd +39 -0
  55. data/lib/markup_validity/xhtml-misc-1.xsd +441 -0
  56. data/lib/markup_validity/xhtml-nameident-1.xsd +63 -0
  57. data/lib/markup_validity/xhtml-notations-1.xsd +69 -0
  58. data/lib/markup_validity/xhtml-object-1.xsd +71 -0
  59. data/lib/markup_validity/xhtml-param-1.xsd +46 -0
  60. data/lib/markup_validity/xhtml-pres-1.xsd +46 -0
  61. data/lib/markup_validity/xhtml-print-1.xsd +85 -0
  62. data/lib/markup_validity/xhtml-print-model-1.xsd +604 -0
  63. data/lib/markup_validity/xhtml-print-modules-1.xsd +422 -0
  64. data/lib/markup_validity/xhtml-rdfa-1.dtd +438 -0
  65. data/lib/markup_validity/xhtml-rdfa-1.xsd +116 -0
  66. data/lib/markup_validity/xhtml-rdfa-model-1.xsd +461 -0
  67. data/lib/markup_validity/xhtml-rdfa-modules-1.xsd +548 -0
  68. data/lib/markup_validity/xhtml-ruby-1.xsd +170 -0
  69. data/lib/markup_validity/xhtml-ruby-basic-1.xsd +84 -0
  70. data/lib/markup_validity/xhtml-script-1.xsd +65 -0
  71. data/lib/markup_validity/xhtml-special.ent +80 -0
  72. data/lib/markup_validity/xhtml-ssismap-1.xsd +38 -0
  73. data/lib/markup_validity/xhtml-struct-1.xsd +85 -0
  74. data/lib/markup_validity/xhtml-style-1.xsd +47 -0
  75. data/lib/markup_validity/xhtml-symbol.ent +237 -0
  76. data/lib/markup_validity/xhtml-table-1.xsd +267 -0
  77. data/lib/markup_validity/xhtml-target-1.xsd +49 -0
  78. data/lib/markup_validity/xhtml-text-1.xsd +62 -0
  79. data/lib/markup_validity/xhtml1-strict.dtd +978 -0
  80. data/lib/markup_validity/xhtml1-strict.xsd +2211 -0
  81. data/lib/markup_validity/xhtml1-transitional.dtd +1201 -0
  82. data/lib/markup_validity/xhtml1-transitional.xsd +2755 -0
  83. data/lib/markup_validity/xhtml11-model-1.xsd +715 -0
  84. data/lib/markup_validity/xhtml11-module-redefines-1.xsd +335 -0
  85. data/lib/markup_validity/xhtml11-modules-1.xsd +605 -0
  86. data/lib/markup_validity/xhtml11.xsd +107 -0
  87. data/lib/markup_validity/xhtml2.xsd +21 -0
  88. data/lib/markup_validity/xml-events-1.xsd +73 -0
  89. data/lib/markup_validity/xml-events-2.xsd +73 -0
  90. data/lib/markup_validity/xml-events-attribs-1.xsd +73 -0
  91. data/lib/markup_validity/xml-events-attribs-2.xsd +75 -0
  92. data/lib/markup_validity/xml-events-copyright-1.xsd +34 -0
  93. data/lib/markup_validity/xml-events-copyright-2.xsd +34 -0
  94. data/lib/markup_validity/xml-handlers-1.xsd +136 -0
  95. data/lib/markup_validity/xml-handlers-2.xsd +98 -0
  96. data/lib/markup_validity/xml-script-1.xsd +38 -0
  97. data/lib/markup_validity/xml.xsd +286 -0
  98. data/spec/matcher_spec.rb +55 -0
  99. data/test/assets/invalid_entity.xhtml +109 -0
  100. data/test/assets/invalid_entity_transitional.xhtml +109 -0
  101. data/test/assets/order.xml +24 -0
  102. data/test/assets/shipment.xsd +33 -0
  103. data/test/helper.rb +96 -0
  104. data/test/test_markup_validity.rb +105 -0
  105. metadata +198 -0
data/.autotest ADDED
@@ -0,0 +1,23 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'autotest/restart'
4
+
5
+ # Autotest.add_hook :initialize do |at|
6
+ # at.extra_files << "../some/external/dependency.rb"
7
+ #
8
+ # at.libs << ":../some/external"
9
+ #
10
+ # at.add_exception 'vendor'
11
+ #
12
+ # at.add_mapping(/dependency.rb/) do |f, _|
13
+ # at.files_matching(/test_.*rb$/)
14
+ # end
15
+ #
16
+ # %w(TestA TestB).each do |klass|
17
+ # at.extra_class_map[klass] = "test/test_misc.rb"
18
+ # end
19
+ # end
20
+
21
+ # Autotest.add_hook :run_command do |at|
22
+ # system "rake build"
23
+ # end
data/CHANGELOG.rdoc ADDED
@@ -0,0 +1,22 @@
1
+ === 1.1.1 / 2010-03-09
2
+
3
+ * New Features
4
+
5
+ * Doesn't require legends in fieldsets for xhtml1-strict
6
+
7
+ === 1.1.0 / 2009-08-06
8
+
9
+ * New Features
10
+
11
+ * Now validates against XHTML+rdfa (Thanks Jason Ronallo!)
12
+
13
+ * Bugfixes
14
+
15
+ * Substituting entities before validating against schema
16
+
17
+ === 1.0.0 / 2009-06-11
18
+
19
+ * 1 major enhancement
20
+
21
+ * Birthday!
22
+
data/Manifest.txt ADDED
@@ -0,0 +1,105 @@
1
+ .autotest
2
+ CHANGELOG.rdoc
3
+ Manifest.txt
4
+ README.rdoc
5
+ Rakefile
6
+ lib/markup_validity.rb
7
+ lib/markup_validity/MarkUp.html
8
+ lib/markup_validity/SCHEMA.html
9
+ lib/markup_validity/assertions.rb
10
+ lib/markup_validity/examples.html
11
+ lib/markup_validity/rspec.rb
12
+ lib/markup_validity/templates.html
13
+ lib/markup_validity/validator.rb
14
+ lib/markup_validity/xframes-1.xsd
15
+ lib/markup_validity/xhtml-access-1.xsd
16
+ lib/markup_validity/xhtml-applet-1.xsd
17
+ lib/markup_validity/xhtml-attribs-1.xsd
18
+ lib/markup_validity/xhtml-base-1.xsd
19
+ lib/markup_validity/xhtml-basic-form-1.xsd
20
+ lib/markup_validity/xhtml-basic-table-1.xsd
21
+ lib/markup_validity/xhtml-basic10-model-1.xsd
22
+ lib/markup_validity/xhtml-basic10-module-redefines-1.xsd
23
+ lib/markup_validity/xhtml-basic10-modules-1.xsd
24
+ lib/markup_validity/xhtml-basic10.xsd
25
+ lib/markup_validity/xhtml-basic11-model-1.xsd
26
+ lib/markup_validity/xhtml-basic11-modules-1.xsd
27
+ lib/markup_validity/xhtml-basic11.xsd
28
+ lib/markup_validity/xhtml-bdo-1.xsd
29
+ lib/markup_validity/xhtml-blkphras-1.xsd
30
+ lib/markup_validity/xhtml-blkpres-1.xsd
31
+ lib/markup_validity/xhtml-blkstruct-1.xsd
32
+ lib/markup_validity/xhtml-charent-1.xsd
33
+ lib/markup_validity/xhtml-copyright-1.xsd
34
+ lib/markup_validity/xhtml-csismap-1.xsd
35
+ lib/markup_validity/xhtml-datatypes-1.xsd
36
+ lib/markup_validity/xhtml-edit-1.xsd
37
+ lib/markup_validity/xhtml-events-1.xsd
38
+ lib/markup_validity/xhtml-form-1.xsd
39
+ lib/markup_validity/xhtml-frames-1.xsd
40
+ lib/markup_validity/xhtml-framework-1.xsd
41
+ lib/markup_validity/xhtml-hypertext-1.xsd
42
+ lib/markup_validity/xhtml-iframe-1.xsd
43
+ lib/markup_validity/xhtml-image-1.xsd
44
+ lib/markup_validity/xhtml-inlphras-1.xsd
45
+ lib/markup_validity/xhtml-inlpres-1.xsd
46
+ lib/markup_validity/xhtml-inlstruct-1.xsd
47
+ lib/markup_validity/xhtml-inlstyle-1.xsd
48
+ lib/markup_validity/xhtml-inputmode-1.xsd
49
+ lib/markup_validity/xhtml-lat1.ent
50
+ lib/markup_validity/xhtml-legacy-1.xsd
51
+ lib/markup_validity/xhtml-link-1.xsd
52
+ lib/markup_validity/xhtml-list-1.xsd
53
+ lib/markup_validity/xhtml-meta-1.xsd
54
+ lib/markup_validity/xhtml-metaAttributes-1.xsd
55
+ lib/markup_validity/xhtml-misc-1.xsd
56
+ lib/markup_validity/xhtml-nameident-1.xsd
57
+ lib/markup_validity/xhtml-notations-1.xsd
58
+ lib/markup_validity/xhtml-object-1.xsd
59
+ lib/markup_validity/xhtml-param-1.xsd
60
+ lib/markup_validity/xhtml-pres-1.xsd
61
+ lib/markup_validity/xhtml-print-1.xsd
62
+ lib/markup_validity/xhtml-print-model-1.xsd
63
+ lib/markup_validity/xhtml-print-modules-1.xsd
64
+ lib/markup_validity/xhtml-rdfa-1.dtd
65
+ lib/markup_validity/xhtml-rdfa-1.xsd
66
+ lib/markup_validity/xhtml-rdfa-model-1.xsd
67
+ lib/markup_validity/xhtml-rdfa-modules-1.xsd
68
+ lib/markup_validity/xhtml-ruby-1.xsd
69
+ lib/markup_validity/xhtml-ruby-basic-1.xsd
70
+ lib/markup_validity/xhtml-script-1.xsd
71
+ lib/markup_validity/xhtml-special.ent
72
+ lib/markup_validity/xhtml-ssismap-1.xsd
73
+ lib/markup_validity/xhtml-struct-1.xsd
74
+ lib/markup_validity/xhtml-style-1.xsd
75
+ lib/markup_validity/xhtml-symbol.ent
76
+ lib/markup_validity/xhtml-table-1.xsd
77
+ lib/markup_validity/xhtml-target-1.xsd
78
+ lib/markup_validity/xhtml-text-1.xsd
79
+ lib/markup_validity/xhtml1-strict.dtd
80
+ lib/markup_validity/xhtml1-strict.xsd
81
+ lib/markup_validity/xhtml1-transitional.dtd
82
+ lib/markup_validity/xhtml1-transitional.xsd
83
+ lib/markup_validity/xhtml11-model-1.xsd
84
+ lib/markup_validity/xhtml11-module-redefines-1.xsd
85
+ lib/markup_validity/xhtml11-modules-1.xsd
86
+ lib/markup_validity/xhtml11.xsd
87
+ lib/markup_validity/xhtml2.xsd
88
+ lib/markup_validity/xml-events-1.xsd
89
+ lib/markup_validity/xml-events-2.xsd
90
+ lib/markup_validity/xml-events-attribs-1.xsd
91
+ lib/markup_validity/xml-events-attribs-2.xsd
92
+ lib/markup_validity/xml-events-copyright-1.xsd
93
+ lib/markup_validity/xml-events-copyright-2.xsd
94
+ lib/markup_validity/xml-handlers-1.xsd
95
+ lib/markup_validity/xml-handlers-2.xsd
96
+ lib/markup_validity/xml-script-1.xsd
97
+ lib/markup_validity/xml.xsd
98
+ spec/matcher_spec.rb
99
+ test/assets/invalid_entity.xhtml
100
+ test/assets/invalid_entity_transitional.xhtml
101
+ test/assets/order.xml
102
+ test/assets/shipment.xsd
103
+ test/helper.rb
104
+ test/test_markup_validity.rb
105
+
data/README.rdoc ADDED
@@ -0,0 +1,101 @@
1
+ = markup_validity
2
+
3
+ * http://github.com/tenderlove/markup_validity
4
+
5
+ == DESCRIPTION:
6
+
7
+ MarkupValidity provides test/unit and rspec helpers for checking the validity
8
+ of your documents. Shortcuts for verifying xhtml-transitional and
9
+ xhtml-strict documents are provided as well. MarkupValidity will not only
10
+ tell you when your document is invalid, but it will tell you what it *should*
11
+ be.
12
+
13
+ == FEATURES/PROBLEMS:
14
+
15
+ * Make sure that markup_validity is required *after* test/unit, or mix
16
+ MarkupValidity::Assertions in to your test class yourself.
17
+ * Currently AWESOME!
18
+
19
+ == SYNOPSIS:
20
+
21
+ ###
22
+ # test/unit example
23
+ require 'test/unit'
24
+ require 'rubygems'
25
+ require 'markup_validity'
26
+
27
+ class ValidHTML < Test::Unit::TestCase
28
+ def test_i_can_has_valid_xhtml
29
+ assert_xhtml_transitional xhtml_document
30
+ end
31
+ end
32
+
33
+ ###
34
+ # rspec example
35
+ require 'rubygems'
36
+ require 'markup_validity'
37
+
38
+ describe "my XHTML document" do
39
+ it "can has transitional xhtml" do
40
+ xhtml_document.should be_xhtml_transitional
41
+ end
42
+ end
43
+
44
+ ###
45
+ # Rails controller test example
46
+ require 'test_helper'
47
+ require 'markup_validity'
48
+
49
+ class AwesomeControllerTest < ActionController::TestCase
50
+ test "valid markup" do
51
+ get :new
52
+ assert_xhtml_transitional @response.body
53
+ end
54
+ end
55
+
56
+ ###
57
+ # Here is an example error report
58
+
59
+ Error on line: 7:
60
+ Element 'p': This element is not expected. Expected is one of ( a, br, span, bdo, object, applet, img, map, iframe, tt ).
61
+
62
+ 6: <p>
63
+ 7: <p>
64
+ 8: Yo dawg, I heard you like p-tags
65
+ 9: </p>
66
+ 10: </p>
67
+ .
68
+ <false> is not true.
69
+
70
+ == REQUIREMENTS:
71
+
72
+ * depends on nokogiri
73
+
74
+ == INSTALL:
75
+
76
+ * gem install markup_validity
77
+
78
+ == LICENSE:
79
+
80
+ (The MIT License)
81
+
82
+ Copyright (c) 2009 Aaron Patterson
83
+
84
+ Permission is hereby granted, free of charge, to any person obtaining
85
+ a copy of this software and associated documentation files (the
86
+ 'Software'), to deal in the Software without restriction, including
87
+ without limitation the rights to use, copy, modify, merge, publish,
88
+ distribute, sublicense, and/or sell copies of the Software, and to
89
+ permit persons to whom the Software is furnished to do so, subject to
90
+ the following conditions:
91
+
92
+ The above copyright notice and this permission notice shall be
93
+ included in all copies or substantial portions of the Software.
94
+
95
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
96
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
97
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
98
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
99
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
100
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
101
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,15 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'rubygems'
4
+ require 'hoe'
5
+
6
+ Hoe.spec('markup_validity') do
7
+ developer('Aaron Patterson', 'aaronp@rubyforge.org')
8
+ self.readme_file = 'README.rdoc'
9
+ self.history_file = 'CHANGELOG.rdoc'
10
+ self.extra_rdoc_files = FileList['*.rdoc']
11
+ self.extra_deps = [['nokogiri', '>= 1.3.1']]
12
+ self.rubyforge_name = 'seattlerb'
13
+ end
14
+
15
+ # vim: syntax=Ruby
@@ -0,0 +1,12 @@
1
+ require 'nokogiri'
2
+ require 'markup_validity/validator'
3
+ require 'markup_validity/assertions'
4
+ require 'markup_validity/rspec'
5
+
6
+ module MarkupValidity
7
+ VERSION = '1.1.0'
8
+ end
9
+
10
+ if defined? Test::Unit::TestCase
11
+ class Test::Unit::TestCase; include MarkupValidity::Assertions; end
12
+ end
@@ -0,0 +1,1095 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
7
+ <title>W3C XHTML2 Working Group Home Page</title>
8
+ <meta name="keywords"
9
+ content="HTML, HTML 4, HTML 4.01, HTML 4.0, XHTML, XHTML 1.0, XHTML 1.1, XHTML Basic, Modularization of XHTML, XML Events, XHTML-Print, XHTML 2.0, HTML Activity, XHTML2 Working Group"
10
+ />
11
+ <meta name="description"
12
+ content="This is W3C's home page for the XHTML2 Working Group." />
13
+ <link rel="stylesheet" type="text/css" href="markup.css" />
14
+ <link rel="stylesheet" type="text/css" href="../StyleSheets/public.css" />
15
+ <link rel="stylesheet" type="text/css" media="handheld"
16
+ href="style/handheld.css" />
17
+ <link rel="stylesheet" type="text/css" media="print" href="style/print.css" />
18
+ <link rel="bookmark" href="#top" title="Page top" />
19
+ <link rel="start" href="../" title="W3C Home Page" />
20
+ <link rel="contents" href="#navbar" title="Navigation" />
21
+ <link rel="bookmark" href="#news" title="News" />
22
+ <link rel="bookmark" href="#recommendations" title="RECs" />
23
+ <link rel="bookmark" href="#drafts" title="Drafts" />
24
+ <link rel="appendix" href="Activity" title="Activity Statement" />
25
+ <link rel="appendix" href="xhtml-roadmap/" title="Roadmap" />
26
+ <link rel="appendix" href="2004/xhtml-faq" title="FAQ" />
27
+ <link rel="appendix" href="modularization" title="M12N Overview" />
28
+ <link rel="appendix" href="historical" title="Historical" />
29
+ <link rel="appendix" href="news" title="News Archive" />
30
+ <link rel="appendix" href="Articles" title="Articles" />
31
+ <link rel="appendix" href="translations" title="Translations" />
32
+ <link rel="help" href="../Help/siteindex" title="Site Index" />
33
+ <link rel="glossary" href="../2001/12/Glossary" title="Glossary" />
34
+ <link rel="copyright" href="#copyright" title="Copyright" />
35
+ <link rel="alternate" type="text/html" title="HTML version" href=",html" />
36
+ <link rel="alternate" type="application/xhtml+xml" title="XHTML version"
37
+ href=",xhtml" />
38
+ <link rel="appendix" href="/2004/01/pp-impl/32107/status"
39
+ title="Patent Policy status" />
40
+ </head>
41
+
42
+ <body>
43
+ <p class="banner"><span class="hide"><a href="#title">Skip to title</a>
44
+ |</span> <a id="top" name="top" href="../"><img alt="W3C" width="72"
45
+ height="48" src="../Icons/w3c_home" /> </a> <a href="../Interaction/"><img
46
+ src="../Icons/interaction" width="212" height="48" alt="Interaction Domain" />
47
+ </a> </p>
48
+
49
+ <p id="quick"><em>Quick links</em>: <span class="hide"><a href="#title">Skip to
50
+ title</a>,</span> <a title="HTML 4 Specification" href="../TR/html4">HTML
51
+ 4</a>, XHTML <a
52
+ title="XHTMLâ?¢ 1.0: The Extensible HyperText Markup Language"
53
+ href="../TR/xhtml1">1.0</a>, <a title="XHTMLâ?¢ 1.1 - Module-based XHTML"
54
+ href="../TR/xhtml11">1.1</a>, <a title="XHTMLâ?¢ Basic"
55
+ href="../TR/xhtml-basic">Basic</a>, <a title="Modularization of XHTMLâ?¢"
56
+ href="../TR/xhtml-modularization">M12N</a>, <a title="XHTML-Print"
57
+ href="../TR/xhtml-print">Print</a> (<abbr
58
+ title="Proposed Recommendation">PR</abbr>), <a title="XHTMLâ?¢ 2.0"
59
+ href="../TR/xhtml2">2.0</a> (<abbr title="Working Draft">WD</abbr>)</p>
60
+
61
+ <h1 id="title" class="title">XHTML2 Working Group Home Page</h1>
62
+
63
+ <div id="preface" class="preface">
64
+ <p>This is <abbr title="World Wide Web Consortium">W3C</abbr>'s home page for
65
+ the XHTML2 Working Group, which was <a
66
+ href="/2007/03/XHTML2-WG-charter">chartered</a> in March 2007 (see <a
67
+ href="/News/2007#item43">news</a>). Please also see the home page for the <a
68
+ href="/html/wg/">new HTML Working Group</a>.</p>
69
+ </div>
70
+
71
+ <p id="navbar" class="navbar"><span class="hide"><a href="#main">Skip to main
72
+ content</a> |</span> <a href="#news">news</a> <!-- | <a href="#mission">mission</a> -->
73
+ | <a href="#recommendations">specifications</a> | <a href="#drafts">public
74
+ drafts</a> | <a href="#issues">issues</a> | <a
75
+ title="W3C HTML/XHTML Test Suites" href="Test/">test suites</a> | <a
76
+ href="#tutorials">tutorials</a> | <a href="#slides">slides</a> | <a
77
+ href="#guidelines">guidelines</a> | <a href="#validation">validation</a> | <a
78
+ title="Articles related to the HTML Activity" href="Articles">articles</a> | <a
79
+ title="Translations of HTML/XHTML specifications"
80
+ href="translations">translations</a> | <a title="XHTML2 Working Group Charter"
81
+ href="/2007/03/XHTML2-WG-charter">charter</a> | <a
82
+ href="http://www.w3.org/2000/09/dbwg/details?group=32107">participants</a> | <a
83
+ href="http://www.w3.org/2004/01/pp-impl/32107/instructions">join</a> | <a
84
+ title="HTML Working Group Roadmap" href="xhtml-roadmap/">roadmap</a> | <a
85
+ href="xhtml2/wiki/Main_Page">wiki</a> | <a
86
+ title="XForms - The Next Generation of Web Forms" href="Forms/">XForms</a> | <a
87
+ href="#forums">forums</a> | <a href="#tidy">HTML Tidy</a> | <a
88
+ href="#related">related work</a> | <a href="#previous"
89
+ title="Previous versions of HTML">HTML 4.0/3.2/2.0</a> | <a id="historical"
90
+ title="Some early ideas for HTML" name="historical"
91
+ href="historical">historical</a> | <a id="patentpolicy"
92
+ href=" http://www.w3.org/2004/01/pp-impl/32107/status">patent policy
93
+ status</a></p>
94
+
95
+ <h2><a id="mission" name="mission">Mission of the XHTML2 Working Group</a></h2>
96
+
97
+ <p>The mission of the XHTML2 Working Group is to fulfill the promise of XML for
98
+ applying XHTML to a wide variety of platforms with proper attention paid to
99
+ internationalization, accessibility, device-independence, usability and
100
+ document structuring. The group will provide an essential piece for supporting
101
+ rich Web content that combines XHTML with other W3C work on areas such as math,
102
+ scalable vector graphics, synchronized multimedia, and forms, in cooperation
103
+ with other Working Groups.</p>
104
+
105
+ <p>To join the XHTML2 Working Group, see the <a
106
+ href="http://www.w3.org/2004/01/pp-impl/32107/instructions">instructions for
107
+ joining</a>. To enquire about the possibility of joining as an invited expert,
108
+ please contact the <a href="../People/all#steven">HTML Activity Lead</a>.</p>
109
+
110
+ <div class="news">
111
+ <h2><a id="news" name="news">NEWS</a></h2>
112
+
113
+ <p class="hide">(<a href="#main">Skip to main content</a>)</p>
114
+
115
+ <p>2009-01-28: <a
116
+ href="http://www.w3.org/TR/2009/NOTE-xhtml-media-types-20090116/">XHTML Media
117
+ Types - Second Edition</a> published. Many people want to use XHTML to author
118
+ their Web pages, but are confused about the best ways to deliver those pages in
119
+ such a way that they will be processed correctly by various user agents. This
120
+ Note contains suggestions about how to format XHTML to ensure it is maximally
121
+ portable, and how to deliver XHTML to various user agents - even those that do
122
+ not yet support XHTML natively. This document is intended to be used by
123
+ document authors who want to use XHTML today, but want to be confident that
124
+ their XHTML content is going to work in the greatest number of environments. <a
125
+ href="http://www.w3.org/News/2009#item6">News item</a>. </p>
126
+
127
+ <p>2009-01-16: <a href="http://www.w3.org/TR/curie/">CURIE Syntax 1.0</a> is a
128
+ W3C Candidate Recommendation.This document defines a generic, abbreviated
129
+ syntax for expressing URIs. See the ongoing <a
130
+ href="2009/curie-impl-report.html">CURIE implementation report</a> for progress
131
+ during the CR phase. <a href="http://www.w3.org/News/2009#item4">News
132
+ item.</a></p>
133
+
134
+ <p>2008-10-16: <a
135
+ href="http://www.w3.org/TR/2008/REC-rdfa-syntax-20081014/">RDFa</a> is a
136
+ Recommendation. This specification allows publishers to express structured data
137
+ on the Web within XHTML. This allows tools to read it, enabling a new world of
138
+ user functionality, allowing users to transfer structured data between
139
+ applications and web sites, and allowing browsing applications to improve the
140
+ user experience. For those looking for an introduction to the use of RDFa and
141
+ some real-world examples, please consult the updated <a
142
+ href="http://www.w3.org/TR/2008/NOTE-xhtml-rdfa-primer-20081014/">RDFa
143
+ Primer</a>.</p>
144
+
145
+ <p>2008-10-08: <a href="http://www.w3.org/TR/xhtml-modularization">XHTML
146
+ Modularization 1.1</a> is a W3C Recommendation. The main change in this version
147
+ is addition of support for XML Schema. The XHTML2 WG will now use this to add
148
+ schema support to its markup languages that use XHTML Modularization. <a
149
+ href="http://www.w3.org/News/2008#item168">News item.</a></p>
150
+
151
+ <p><span class="date">2008-09-04:</span> The <a
152
+ href="http://www.w3.org/2006/07/SWD/">Semantic Web Deployment Working Group</a>
153
+ and the <a href="">XHTML2 Working Group</a> have published the Proposed
154
+ Recommendation of <a
155
+ href="http://www.w3.org/TR/2008/PR-rdfa-syntax-20080904/">RDFa in XHTML: Syntax
156
+ and Processing</a>. See also the <a
157
+ href="http://www.w3.org/2006/07/SWD/RDFa/implementation-report/">RDFa
158
+ Implementation Report</a>.</p>
159
+
160
+ <p><span class="date">2008-07-29:</span> <a
161
+ href="http://www.w3.org/TR/2008/REC-xhtml-basic-20080729/">XHTML Basic 1.1</a>
162
+ is a recommendation. With this, there is now a full convergence in mobile
163
+ markup languages, including those developed by the Open Mobile Alliance
164
+ (OMA).</p>
165
+
166
+ <p><span class="date">2008-06-20:</span> The <a
167
+ href="http://www.w3.org/2006/07/SWD/">Semantic Web Deployment Working Group</a>
168
+ and the <a href="">XHTML2 Working Group</a> have published a Candidate
169
+ Recommendation of <a
170
+ href="http://www.w3.org/TR/2008/CR-rdfa-syntax-20080620/">RDFa in XHTML: Syntax
171
+ and Processing</a>. Web documents contain significant amounts of structured
172
+ data, which is largely unavailable to tools and applications. When publishers
173
+ can express this data more completely, and when tools can read it, a new world
174
+ of user functionality becomes available, letting users transfer structured data
175
+ between applications and web sites, and allowing browsing applications to
176
+ improve the user experience. RDFa is a specification for attributes to be used
177
+ with languages such as HTML and XHTML to express structured data.</p>
178
+
179
+ <p><span class="date">2008-06-12:</span> The <a href="/MarkUp/">XHTML2 Working
180
+ Group</a> published two Proposed Recommendations today: <strong>XHTML
181
+ Modularization 1.1</strong> and <strong>XHTML Basic 1.1</strong>. The former
182
+ provides a means for subsetting and extending XHTML, a feature needed for
183
+ extending XHTML's reach onto emerging platforms. This specification is intended
184
+ for use by language designers as they construct new XHTML Family Markup
185
+ Languages. This second version of this specification includes several minor
186
+ updates to provide clarifications and address errors found in the first
187
+ version. It also provides an implementation using XML Schemas. This version of
188
+ XHTML Basic, which uses the Modularization approach, has been brought into
189
+ alignment with the widely deployed XHTML Mobile Profile from the Open Mobile
190
+ Alliance (OMA).</p>
191
+
192
+ <p><span class="date">2008-05-26:</span> The <a href="/MarkUp/">XHTML2 Working
193
+ Group</a> has released a Last Call Working Draft of <a
194
+ href="http://www.w3.org/TR/2008/WD-xhtml-access-20080526/">XHTML Access
195
+ Module</a>. This document is intended to help make XHTML-family markup
196
+ languages more effective at supporting the needs of the accessibility community
197
+ by providing a generic mechanism for defining the relationship between document
198
+ components and well-known accessibility taxonomies.</p>
199
+
200
+ <p><span class="date">2008-05-06:</span> The <a href="/MarkUp/">XHTML2 Working
201
+ Group</a> has released a Last Call Working Draft of <a
202
+ href="http://www.w3.org/TR/2008/WD-curie-20080506/">CURIE Syntax 1.0</a> that
203
+ defines a syntax for expressing URIs in a generic, abbreviated syntax.</p>
204
+
205
+ <p><span class="date">2008-04-07:</span> The XHTML2 Working Group has released
206
+ a second Last Call Working Draft of <a
207
+ href="http://www.w3.org/TR/2008/WD-xhtml-role-20080407/">XHTML Role Attribute
208
+ Module</a>. With the <code>role</code> attribute, authors can annotate XML
209
+ languages with machine-readable semantic information about the purpose of
210
+ elements. Use cases include accessibility, device adaptation, server-side
211
+ processing and complex data description. The attribute can be integrated into
212
+ any markup language based on <a
213
+ href="http://www.w3.org/TR/xhtml-modularization/">XHTML Modularization</a>.</p>
214
+
215
+ <p><span class="date">2008-01-07:</span> The <a href="/MarkUp/">XHTML2 Working
216
+ Group</a> has published the First Public Working Draft of <a
217
+ href="/MarkUp/2008/WD-xhtml-access-20080107/">XHTML Access Module</a>. This
218
+ document is intended to help make XHTML-family markup languages more effective
219
+ at supporting the needs of the accessibility community. It does so by providing
220
+ a generic mechanism for defining the relationship between document components
221
+ and well-known accessibility taxonomies.</p>
222
+
223
+ <p>(<a href="news">Past News</a>)</p>
224
+ </div>
225
+
226
+ <div id="main" class="main">
227
+ <h2><a id="whatis" name="whatis">What is HTML?</a></h2>
228
+
229
+ <p>HTML is the <em>lingua franca</em> for publishing hypertext on the World
230
+ Wide Web. It is a non-proprietary format based upon <abbr
231
+ title="Standard Generalized MarkUp Language">SGML</abbr>, and can be created
232
+ and processed by a wide range of tools, from simple plain text editors - you
233
+ type it in from scratch - to sophisticated <acronym
234
+ title="What You See Is What You Get">WYSIWYG</acronym> authoring tools. HTML
235
+ uses tags such as <code>&lt;h1&gt;</code> and <code>&lt;/h1&gt;</code> to
236
+ structure text into headings, paragraphs, lists, hypertext links etc. Here is a
237
+ <a href="Guide/">10-minute guide</a> for newcomers to HTML. W3C's statement of
238
+ direction for HTML is given on the <a href="Activity">HTML Activity
239
+ Statement</a>. See also the page on our work on the <a href="Forms/">next
240
+ generation of Web forms</a>, and the section on <a href="historical">Web
241
+ history</a>.</p>
242
+
243
+ <h2><a id="whatis-xhtml" name="whatis-xhtml">What is XHTML?</a></h2>
244
+
245
+ <p>The Extensible HyperText Markup Language (XHTML&trade;) is a family of
246
+ current and future document types and modules that reproduce, subset, and
247
+ extend HTML, reformulated in <a href="../XML/">XML</a> rather than SGML. XHTML
248
+ Family document types are all XML-based, and ultimately are designed to work in
249
+ conjunction with XML-based user agents. XHTML is the successor of HTML, and a
250
+ <a href="#recommendations">series of specifications</a> has been developed for
251
+ XHTML. See also: <a href="2004/xhtml-faq">HTML and XHTML Frequently Answered
252
+ Questions</a></p>
253
+
254
+ <h2><a id="recommendations" name="recommendations">Recommendations</a></h2>
255
+
256
+ <p>W3C produces what are known as "<a
257
+ href="../2004/02/Process-20040205/tr#RecsW3C">Recommendations</a>". These are
258
+ specifications, developed by W3C working groups, and then reviewed by Members
259
+ of the Consortium. A W3C Recommendation indicates that consensus has been
260
+ reached among the Consortium Members that a specification is appropriate for
261
+ widespread use.</p>
262
+
263
+ <p>In general, XHTML specifications include implementations of their
264
+ requirements in various syntaxes (e.g., XML DTD, XML Schema, RelaxNG). These
265
+ implementations are normative, and are meant to be used either as building
266
+ blocks for new markup languages (e.g., XHTML Modularization) or as complete
267
+ markup language implementations (e.g., XHTML 1.1). </p>
268
+
269
+ <p>While a normative part of the W3C Recommendation in which they are
270
+ presented, these implementations are also code containing potential errors or
271
+ omissions. When such errors are discovered, it is sometimes important that they
272
+ be addressed very quickly to ensure that technologies relying on the
273
+ implementations work as expected (e.g., validators and content authoring
274
+ systems). The W3C process allows for the publication and frequent updating of
275
+ errata, but unfortunately this process does not enable implementations to be
276
+ quickly updated. As a result, the XHTML 2 Working Group has adopted the
277
+ following concerning the production and evolution of its implementations:</p>
278
+ <ul>
279
+ <li>All implementations will adhere to the naming convention(s) and evolution
280
+ rules as defined in XHTML Modularization. These names include both Formal
281
+ Public Identifiers and System Identifiers. These conventions require that
282
+ the System Identifier must include a revision number. This revision number
283
+ is ONLY incremented when a revision is not backward compatible.</li>
284
+ <li>Each applicable Recommendation will include fixed, unchanging versions of
285
+ those implementations within the formal dated location for the
286
+ Recommendation (/TR/YYYY/REC-whatever-YYYYmmdd/...).</li>
287
+ <li>The Working Group will also provide a version of that implementation in
288
+ the working group's space on the W3C server (/MarkUp), uncoupled from a
289
+ specific dated version of the associated Recommendation. In the beginning
290
+ this uncoupled version will be *identical* to the version from the
291
+ associated Recommendation.</li>
292
+ <li>If the Working Group identifies a problem with an implementation, and it
293
+ is possible to solve the problem in a way that is 100 percent backward
294
+ compatible, then the version in the group's space will be updated in place
295
+ and an announcement will be sent to the XHTML 2 public email list.</li>
296
+ </ul>
297
+
298
+ <p>The XHTML 2 Working Group states that the term "backward compatible" should
299
+ be used only when:</p>
300
+ <ul>
301
+ <li>The external interface to the module cannot change in any way that would
302
+ break another module or markup language, either within or outside of the
303
+ W3C.</li>
304
+ <li>The content model cannot change in any way that would cause a previously
305
+ valid document to become invalid. </li>
306
+ </ul>
307
+
308
+ <p>If either of the above constraints would be violated by a change, the
309
+ working group will either 1) not make the change, or 2) revise the applicable
310
+ module. In the latter case, the working group will also change the associated
311
+ identifiers.</p>
312
+
313
+ <p class="navbar"><a href="#xhtml1">XHTML 1.0</a> | <a href="#html4">HTML
314
+ 4.01</a> | <a href="#xhtml-basic">XHTML basic</a> | <a
315
+ href="#xhtml-modularization">Modularization of XHTML</a> | <a
316
+ href="#xhtml11">XHTML 1.1</a> | <a href="#xml-events">XML Events</a></p>
317
+
318
+ <h3><a id="xhtml1" name="xhtml1" href="../TR/xhtml1">XHTML 1.0</a></h3>
319
+
320
+ <p>XHTML 1.0 was the W3C's first Recommendation for XHTML, following on from <a
321
+ href="#previous">earlier work</a> on HTML 4.01, HTML 4.0, HTML 3.2 and HTML
322
+ 2.0. With a wealth of features, XHTML 1.0 is a reformulation of HTML 4.01 in
323
+ XML, and combines the strength of HTML 4 with the power of XML.</p>
324
+
325
+ <p>XHTML 1.0 was the first major change to HTML since HTML 4.0 was released in
326
+ 1997. It brings the rigor of XML to Web pages and is the keystone in W3C's work
327
+ to create standards that provide richer Web pages on an ever increasing range
328
+ of browser platforms including cell phones, televisions, cars, wallet sized
329
+ wireless communicators, kiosks, and desktops.</p>
330
+
331
+ <p>XHTML 1.0 was the first step: it reformulates HTML as an XML application.
332
+ This makes it easier to process and easier to maintain. XHTML 1.0 borrows
333
+ elements and attributes from W3C's earlier work on HTML 4, and can be
334
+ interpreted by existing browsers, by following a few simple <a
335
+ href="../TR/xhtml1/#guidelines">guidelines</a>. This allows you to start using
336
+ XHTML now!</p>
337
+
338
+ <p>You can roll over your old HTML documents into XHTML using an Open Source <a
339
+ href="#tidy">HTML Tidy</a> utility. This tool also cleans up markup errors,
340
+ removes clutter and prettifies the markup making it easier to maintain.</p>
341
+
342
+ <h4><a id="flavors" name="flavors">Three "flavors" of XHTML 1.0</a></h4>
343
+
344
+ <p>XHTML 1.0 is specified in three "flavors". You specify which of these
345
+ variants you are using by inserting a line at the beginning of the document.
346
+ For example, the HTML for this document starts with a line which says that it
347
+ is using XHTML 1.0 Strict. Thus, if you want to validate the document, the tool
348
+ used knows which variant you are using. Each variant has its own DTD - Document
349
+ Type Definition - which sets out the rules and regulations for using HTML in a
350
+ succinct and definitive manner.</p>
351
+ <ul>
352
+ <li id="xhtml1-strict"><p><strong>XHTML 1.0 Strict</strong> - Use this when
353
+ you want really clean structural mark-up, free of any markup associated
354
+ with layout. Use this together with W3C's Cascading Style Sheet language
355
+ (<a href="../Style/CSS/">CSS</a>) to get the font, color, and layout
356
+ effects you want.</p>
357
+ </li>
358
+ <li id="xhtml1-transitional"><p><strong>XHTML 1.0 Transitional</strong> -
359
+ Many people writing Web pages for the general public to access might want
360
+ to use this flavor of XHTML 1.0. The idea is to take advantage of XHTML
361
+ features including style sheets but nonetheless to make small adjustments
362
+ to your markup for the benefit of those viewing your pages with older
363
+ browsers which can't understand style sheets. These include using the
364
+ <code>body</code> element with <code>bgcolor</code>, <code>text</code> and
365
+ <code>link</code> attributes.</p>
366
+ </li>
367
+ <li id="xhtml1-frameset"><p><strong>XHTML 1.0 Frameset</strong> - Use this
368
+ when you want to use Frames to partition the browser window into two or
369
+ more frames.</p>
370
+ </li>
371
+ </ul>
372
+
373
+ <p>The complete <a href="../TR/xhtml1">XHTML 1.0 specification</a> is available
374
+ in English in several formats, including HTML, PostScript and <abbr
375
+ title="Portable Document Format">PDF</abbr>. See also the <a
376
+ href="../TR/xhtml1,translations">list of translations</a> produced by
377
+ volunteers.</p>
378
+ <!--
379
+ <h2 id="xhtml1-html4"><a href="../TR/xhtml1">XHTML 1.0</a> and <a
380
+ href="../TR/html4">HTML 4.01</a></h2>
381
+ -->
382
+
383
+ <h3><a id="html4" name="html4" href="../TR/html4">HTML 4.01</a></h3>
384
+
385
+ <p><a href="../TR/html4">HTML 4.01</a> is a revision of the HTML 4.0
386
+ Recommendation first released on 18th December 1997. The revision fixes minor
387
+ errors that have been found since then. The XHTML 1.0 spec relies on HTML 4.01
388
+ for the meanings of XHTML elements and attributes. This allowed us to reduce
389
+ the size of the XHTML 1.0 spec very considerably.</p>
390
+
391
+ <h3><a id="xhtml-basic" name="xhtml-basic" href="../TR/xhtml-basic">XHTML
392
+ Basic</a></h3>
393
+
394
+ <p>XHTML Basic is the second Recommendation in a series of XHTML
395
+ specifications.</p>
396
+
397
+ <p>The XHTML Basic document type includes the minimal set of modules required
398
+ to be an XHTML Host Language document type, and in addition it includes images,
399
+ forms, basic tables, and object support. It is designed for Web clients that do
400
+ not support the full set of XHTML features; for example, Web clients such as
401
+ mobile phones, <abbr title="Personal Digital Assistant">PDA</abbr>s, pagers,
402
+ and settop boxes. The document type is rich enough for content authoring.</p>
403
+
404
+ <p>XHTML Basic is designed as a common base that may be extended. For example,
405
+ an event module that is more generic than the traditional HTML 4 event system
406
+ could be added or it could be extended by additional modules from XHTML
407
+ Modularization such as the Scripting Module. The goal of XHTML Basic is to
408
+ serve as a common language supported by various kinds of user agents.</p>
409
+
410
+ <p>The document type definition is implemented using XHTML modules as defined
411
+ in "<cite><a href="#xhtml-modularization">Modularization of
412
+ XHTML</a></cite>".</p>
413
+
414
+ <p>The complete <a href="../TR/xhtml-basic">XHTML Basic specification</a> is
415
+ available in English in several formats, including HTML, plain text, PostScript
416
+ and PDF. See also the <a href="../TR/xhtml-basic,translations">list of
417
+ translations</a> produced by volunteers.</p>
418
+
419
+ <h3><a id="xhtml-modularization" name="xhtml-modularization"
420
+ href="../TR/xhtml-modularization">XHTML Modularization</a></h3>
421
+
422
+ <p><em>XHTML Modularization</em> is the third Recommendation in a series of
423
+ XHTML specifications.</p>
424
+
425
+ <p>This Recommendation does not specify a markup language but an abstract
426
+ modularization of XHTML and an implementation of the abstraction using XML
427
+ Document Type Definitions (DTDs) and (in version 1.1) XML Schemas. This
428
+ modularization provides a means for subsetting and extending XHTML, a feature
429
+ needed for extending XHTML's reach onto emerging platforms.</p>
430
+
431
+ <p>Modularization of XHTML makes it easier to combine with markup tags for
432
+ things like vector graphics, multimedia, math, electronic commerce and more.
433
+ Content providers will find it easier to produce content for a wide range of
434
+ platforms, with better assurances as to how the content is rendered, and that
435
+ the content is valid.</p>
436
+
437
+ <p>The modular design reflects the realization that a one-size-fits-all
438
+ approach no longer works in a world where browsers vary enormously in their
439
+ capabilities. A browser in a cellphone can't offer the same experience as a top
440
+ of the range multimedia desktop machine. The cellphone doesn't even have the
441
+ memory to load the page designed for the desktop browser.</p>
442
+
443
+ <p>See also <a href="modularization">an overview of XHTML
444
+ Modularization</a>.</p>
445
+
446
+ <h3><a id="xhtml11" name="xhtml11" href="../TR/xhtml11">XHTML 1.1 -
447
+ Module-based XHTML</a></h3>
448
+
449
+ <p>This Recommendation defines a new XHTML document type that is based upon the
450
+ module framework and modules defined in Modularization of XHTML. The purpose of
451
+ this document type is to serve as the basis for future extended XHTML 'family'
452
+ document types, and to provide a consistent, forward-looking document type
453
+ cleanly separated from the deprecated, legacy functionality of HTML 4 that was
454
+ brought forward into the XHTML 1.0 document types.</p>
455
+
456
+ <p>This document type is essentially a reformulation of XHTML 1.0 Strict using
457
+ XHTML Modules. This means that many facilities available in other XHTML Family
458
+ document types (e.g., XHTML Frames) are not available in this document type.
459
+ These other facilities are available through modules defined in Modularization
460
+ of XHTML, and document authors are free to define document types based upon
461
+ XHTML 1.1 that use these facilities (see Modularization of XHTML for
462
+ information on creating new document types).</p>
463
+
464
+ <h4><a id="differences" name="differences">What is the difference between XHTML
465
+ 1.0, XHTML Basic and XHTML 1.1?</a></h4>
466
+
467
+ <p>The first step was to reformulate <a href="#html4">HTML 4</a> in XML,
468
+ resulting in <a href="#xhtml1">XHTML 1.0</a>. By following the <a
469
+ href="http://www.w3.org/TR/xhtml1/#guidelines">HTML Compatibility
470
+ Guidelines</a> set forth in Appendix C of the XHTML 1.0 specification, XHTML
471
+ 1.0 documents could be compatible with existing HTML user agents.</p>
472
+
473
+ <p>The next step is to modularize the elements and attributes into convenient
474
+ collections for use in documents that combine XHTML with other tag sets. The
475
+ modules are defined in <a href="#xhtml-modularization">Modularization of
476
+ XHTML</a>. <a href="#xhtml-basic">XHTML Basic</a> is an example of fairly
477
+ minimal build of these modules and is targeted at mobile applications.</p>
478
+
479
+ <p><a href="#xhtml11">XHTML 1.1</a> is an example of a larger build of the
480
+ modules, avoiding many of the presentation features. While XHTML 1.1 looks very
481
+ similar to XHTML 1.0 Strict, it is designed to serve as the basis for future
482
+ extended XHTML Family document types, and its modular design makes it easier to
483
+ add other modules as needed or integrate itself into other markup languages. <a
484
+ href="http://www.w3.org/TR/MathML2/appendixa.html#parsing.module">XHTML 1.1
485
+ plus MathML 2.0</a> document type is an example of such XHTML Family document
486
+ type.</p>
487
+ </div>
488
+
489
+ <h3><a id="xhtml-print" name="xhtml-print"
490
+ href="../TR/xhtml-print">XHTML-Print</a></h3>
491
+
492
+ <blockquote cite="../TR/xhtml-print/#abstract">
493
+ <p>XHTML-Print is member of the family of XHTML Languages defined by the
494
+ <cite>Modularization of <abbr
495
+ title="Extensible HyperText Markup Language">XHTML</abbr></cite>. It is
496
+ designed to be appropriate for printing from mobile devices to low-cost
497
+ printers that might not have a full-page buffer and that generally print from
498
+ top-to-bottom and left-to-right with the paper in a portrait orientation.
499
+ XHTML-Print is also targeted at printing in environments where it is not
500
+ feasible or desirable to install a printer-specific driver and where some
501
+ variability in the formatting of the output is acceptable.</p>
502
+ </blockquote>
503
+
504
+ <div id="main1" class="main">
505
+ <h3><a id="xml-events" name="xml-events" href="../TR/xml-events">XML
506
+ Events</a></h3>
507
+
508
+ <p class="note"><em><strong>Note.</strong> This specification was renamed from
509
+ "XHTML Events".</em></p>
510
+
511
+ <blockquote cite="../TR/xml-events/#abstract">
512
+ <p>The XML Events module defined in this specification provides XML languages
513
+ with the ability to uniformly integrate event listeners and associated event
514
+ handlers with Document Object Model (DOM) Level 2 event interfaces. The
515
+ result is to provide an interoperable way of associating behaviors with
516
+ document-level markup.</p>
517
+ </blockquote>
518
+
519
+ <h3><a id="previous" name="previous">Previous Versions of HTML</a></h3>
520
+ <dl>
521
+ <!--
522
+ <dt><a id="html401" name="html401" href="../TR/html401">HTML 4.01</a></dt>
523
+
524
+ <dd>The <a href="../TR/html401">HTML 4.01</a> Recommendation
525
+ released on 24th December 1999 fixes a number of bugs in the HTML
526
+ 4.0 specification. The list of changes are detailed in <a
527
+ href="../TR/html401/appendix/changes">appendix A</a>.</dd>
528
+ -->
529
+ <dt><a id="html40" name="html40" href="../TR/1998/REC-html40-19980424">HTML
530
+ 4.0</a></dt>
531
+ <dd>First released as a W3C Recommendation on 18 December 1997. A second
532
+ release was issued on 24 April 1998 with changes limited to editorial
533
+ corrections. <strong>This specification has now been superseded by <a
534
+ href="../TR/html401">HTML 4.01</a>.</strong></dd>
535
+ <dt><a id="html32" name="html32" href="../TR/REC-html32">HTML 3.2</a></dt>
536
+ <dd>W3C's first Recommendation for HTML which represented the consensus on
537
+ HTML features for 1996. HTML 3.2 added widely-deployed features such as
538
+ tables, applets, text-flow around images, superscripts and subscripts,
539
+ while providing backwards compatibility with the existing <a
540
+ href="html-spec/">HTML 2.0 Standard</a>.</dd>
541
+ <dt><a id="html20" name="html20" href="html-spec/">HTML 2.0</a></dt>
542
+ <dd><a href="html-spec/">HTML 2.0</a> (<a
543
+ href="http://www.rfc-editor.org/rfc/rfc1866.txt"><abbr
544
+ title="Request For Comments">RFC</abbr> 1866</a>) was developed by the
545
+ <abbr title="Internet Engineering Task Force">IETF</abbr>'s HTML Working
546
+ Group, which closed in 1996. It set the standard for core HTML features
547
+ based upon current practice in 1994. Note that with the release of <a
548
+ href="http://www.rfc-editor.org/rfc/rfc2854.txt">RFC 2854</a>, RFC 1866
549
+ has been obsoleted and its <a
550
+ href="http://www.ietf.org/iesg/1rfc_index.txt">current status</a> is
551
+ <strong>HISTORIC</strong>.</dd>
552
+ </dl>
553
+
554
+ <h3><a id="isohtml" name="isohtml"><abbr
555
+ title="International Organization for Standardization">ISO</abbr> HTML</a></h3>
556
+
557
+ <p><a
558
+ title="Information technology - Document description and processing languages - HyperText Markup Language (HTML)"
559
+ href="http://purl.org/NET/ISO+IEC.15445/15445.html">ISO/<abbr
560
+ title="International Electrotechnical Commission">IEC</abbr> 15445:2000</a> is
561
+ a subset of HTML 4, standardized by ISO/IEC. It takes a more rigorous stance
562
+ for instance, an <code>h3</code> element can't occur after an <code>h1</code>
563
+ element unless there is an intervening <code>h2</code> element. Roger Price and
564
+ David Abrahamson have written a <a
565
+ href="http://purl.org/NET/ISO+IEC.15445/Users-Guide.html">user's guide to ISO
566
+ HTML</a>.</p>
567
+
568
+ <h2><a id="drafts" name="drafts">Other Public Drafts</a></h2>
569
+
570
+ <p>The current editors' drafts of all specifications are linked to from a
571
+ separate <a href="Drafts/">drafts page</a>.</p>
572
+
573
+ <p>If you have any comments on any of our specifications we would like to hear
574
+ from you via email. Please send your comments to: <a
575
+ href="mailto:www-html-editor@w3.org">www-html-editor@w3.org</a> (<a
576
+ href="http://lists.w3.org/Archives/Public/www-html-editor/">archive</a>). Don't
577
+ forget to include <strong>XHTML</strong> in the subject line.</p>
578
+
579
+ <h3><a id="xhtml2" name="xhtml2" href="../TR/xhtml2">XHTML 2.0</a></h3>
580
+
581
+ <p>XHTML 2.0 is a markup language intended for rich, portable web-based
582
+ applications. While the ancestry of XHTML 2.0 comes from HTML 4, XHTML 1.0, and
583
+ XHTML 1.1, it is <em>not</em> intended to be 100% backwards compatible with its
584
+ earlier versions. Application developers familiar with its earlier ancestors
585
+ will be comfortable working with XHTML 2.0.</p>
586
+
587
+ <p>XHTML 2.0 is a member of the XHTML Family of markup languages. It is an
588
+ XHTML Host Language as defined in <a
589
+ href="#xhtml-modularization">Modularization of XHTML</a>. As such, it is made
590
+ up of a set of XHTML Modules that together describe the elements and attributes
591
+ of the language, and their content model. XHTML 2.0 updates many of the modules
592
+ defined in Modularization of XHTML, and includes the updated versions of all
593
+ those modules and their semantics. </p>
594
+
595
+ <p>XHTML 2.0 essentially consists of a packaging of several parts currently
596
+ independently proceeding to recommendation:</p>
597
+ <ul>
598
+ <li><a href="http://www.w3.org/TR/rdfa-syntax/">RDFa</a></li>
599
+ <li><a href="http://www.w3.org/TR/xforms11/">XForms</a></li>
600
+ <li><a href="http://www.w3.org/TR/xhtml-access/">Access</a></li>
601
+ <li><a href="http://www.w3.org/TR/xhtml-role/">Role</a></li>
602
+ <li><a href="http://www.w3.org/TR/xml-events2/">XML Events</a></li>
603
+ </ul>
604
+
605
+ <p>plus the necessary text and hyperlinking modules, which you will find in the
606
+ XHTML2 draft.</p>
607
+
608
+ <p>The most recent <a href="Drafts/#xhtml2">editor's draft</a> can always be
609
+ found on the XHTML2 WG's drafts page.</p>
610
+
611
+ <h3><a id="XHTMLplusMathMLplusSVG" name="XHTMLplusMathMLplusSVG"
612
+ href="../TR/XHTMLplusMathMLplusSVG">An XHTML + MathML + SVG Profile</a></h3>
613
+
614
+ <p>An XHTML+MathML+SVG profile is a profile that combines XHTML 1.1, MathML 2.0
615
+ and SVG 1.1 together. This profile enables mixing XHTML, MathML and SVG in the
616
+ same document using XML namespaces mechanism, while allowing validation of such
617
+ a mixed-namespace document.</p>
618
+
619
+ <p>This specification is a joint work with the SVG Working Group, with the help
620
+ from the Math WG.</p>
621
+
622
+ <h3><a id="xframes" name="xframes" href="../TR/xframes">XFrames</a></h3>
623
+
624
+ <p>XFrames is an XML application for composing documents together, replacing
625
+ HTML Frames. XFrames is <em>not</em> a part of XHTML per se, that allows
626
+ similar functionality to HTML Frames, with fewer usability problems,
627
+ principally by making the content of the frameset visible in its URI.</p>
628
+
629
+ <h3><a id="hlink" name="hlink" href="../TR/hlink">HLink</a></h3>
630
+
631
+ <blockquote cite="../TR/hlink/#abstract">
632
+ <p>The HLink module defined in this specification provides XHTML Family
633
+ Members with the ability to specify which attributes of elements represent
634
+ Hyperlinks, and how those hyperlinks should be traversed, and extends XLink
635
+ use to a wider class of languages than those restricted to the syntactic
636
+ style allowed by XLink.</p>
637
+ </blockquote>
638
+
639
+ <h3><a id="xhtml-media-types" name="xhtml-media-types"
640
+ href="../TR/xhtml-media-types">XHTML Media Types</a></h3>
641
+
642
+ <blockquote cite="../TR/xhtml-media-types/#abstract">
643
+ <p>This document summarizes the best current practice for using various
644
+ Internet media types for serving various XHTML Family documents. <a
645
+ href="../TR/xhtml-media-types/#summary">In summary</a>,
646
+ 'application/xhtml+xml' <strong>SHOULD</strong> be used for XHTML Family
647
+ documents, and the use of 'text/html' <strong>SHOULD</strong> be limited to
648
+ <abbr title="HyperText Markup Language">HTML</abbr>-compatible XHTML 1.0
649
+ documents. 'application/xml' and 'text/xml' <strong>MAY</strong> also be
650
+ used, but whenever appropriate, 'application/xhtml+xml'
651
+ <strong>SHOULD</strong> be used rather than those generic <abbr
652
+ title="Extensible Markup Language">XML</abbr> media types.</p>
653
+ </blockquote>
654
+
655
+ <h3><a id="xhtml1-schema" name="xhtml1-schema" href="../TR/xhtml1-schema">XHTML
656
+ 1.0 in XML Schema</a></h3>
657
+
658
+ <p>This document describes <em>non-normative</em> XML Schemas for XHTML 1.0.
659
+ These Schemas are still work in progress, and this document <em>does not</em>
660
+ change the normative definition of XHTML 1.0.</p>
661
+
662
+ <h3><a id="xhtml-roadmap" name="xhtml-roadmap" href="xhtml-roadmap/">XHTML2
663
+ Working Group Roadmap</a></h3>
664
+
665
+ <blockquote>
666
+ <p>This describes the timeline for deliverables of the XHTML2 working group.
667
+ It used to be a W3C NOTE but has now been moved to the MarkUp area for easier
668
+ maintenance.</p>
669
+ </blockquote>
670
+ </div>
671
+
672
+ <h2 id="issues">Issue tracking</h2>
673
+
674
+ <p>There are two sets of issues being tracked:</p>
675
+ <dl>
676
+ <dt><a href="http://htmlwg.mn.aptest.com/xhtml2-issues">XHTML2 Issue Tracking
677
+ System</a></dt>
678
+ <dd>This database is dedicated to XHTML2 issues.</dd>
679
+ <dt><a href="http://htmlwg.mn.aptest.com/voyager-issues">Voyager Issue
680
+ Tracking System</a></dt>
681
+ <dd>This database contains issues for all other specs.</dd>
682
+ </dl>
683
+
684
+ <p></p>
685
+
686
+ <div id="main11" class="main">
687
+ <!--
688
+ <h3><a id="xhtml-building" name="xhtml-building">Building
689
+ XHTML Modules</a></h3>
690
+
691
+ <p><em>Note: This document has been incorporated into
692
+ "<cite><a href="#xhtml-modularization" >Modularization of
693
+ XHTML</a></cite>".</em></p>
694
+
695
+ <h3><a id="xhtml-prof-req" name="xhtml-prof-req"
696
+ href="../TR/xhtml-prof-req">XHTML Document Profile Requirements</a></h3>
697
+
698
+ <blockquote>
699
+ <p>The increasing disparities between the capabilities of
700
+ different kinds of Web browsers present challenges to Web content
701
+ developers wishing to reach a wide audience. A promising approach
702
+ is to formally describe profiles for documents intended for broad
703
+ groups of browsers, for instance, separate document profiles for
704
+ browsers running on desktops, television, handhelds, cellphones
705
+ and voice browsers. Document profiles provide a basis for
706
+ interoperability guarantees. If an author develops content for a
707
+ given profile and a browser supports the profile then the author
708
+ may be confident that the document will be rendered as expected.
709
+ The requirements for document profiles are analyzed.</p>
710
+ </blockquote>
711
+ -->
712
+
713
+ <h2><a id="information" name="information">Useful information for HTML/XHTML
714
+ authors</a></h2>
715
+
716
+ <h3><a id="tutorials" name="tutorials">Tutorials</a></h3>
717
+ <ul>
718
+ <li><a href="Guide/"><cite>Getting started with HTML</cite></a> by Dave
719
+ Raggett is a short introduction to writing HTML, including tutorials on <a
720
+ href="Guide/Advanced">advanced features</a>.</li>
721
+ <li><a href="Guide/Style"><cite>Adding a touch of style</cite></a> by Dave
722
+ Raggett is a short guide to styling your Web pages.</li>
723
+ <li><a href="Guide/xhtml-m12n-tutorial/"><cite>XHTML Modules and Markup
724
+ Languages - How to create XHTML Family modules and markup languages for fun
725
+ and profit</cite></a> by Shane McCarron explains how to create XHTML Family
726
+ modules and markup languages, based on <a
727
+ href="#xhtml-modularization">Modularization of XHTML</a>.</li>
728
+ <li><a href="2004/xmlevents-for-html-authors"><cite>XML Events for HTML
729
+ Authors</cite></a> by <a href="http://homepages.cwi.nl/~steven/">Steven
730
+ Pemberton</a> is a quick introduction to XML Events for HTML authors,
731
+ explaining how XML Events are the same as HTML Event handling
732
+ (<code>onclick</code> etc), but written differently.</li>
733
+ <li><cite>XForms for HTML Authors</cite> <a
734
+ href="Forms/2003/xforms-for-html-authors.html">Part 1</a> and <a
735
+ href="Forms/2006/xforms-for-html-authors-part2">Part 2</a> by <a
736
+ href="http://homepages.cwi.nl/~steven/">Steven Pemberton</a> is a quick
737
+ introduction to writing XForms, leveraging the reader's existing knowledge
738
+ of HTML Forms.</li>
739
+ </ul>
740
+
741
+ <h3><a id="slides" name="slides">Slides on XHTML</a></h3>
742
+
743
+ <p>You may also be interested in the following slides on XHTML:</p>
744
+ <ul>
745
+ <li><a href="http://www.w3.org/Talks/1999/03/24-stockholm-xhtml/">XHTML: The
746
+ Extensible Hypertext Markup Language</a> by Dave Raggett, at W3C LA event
747
+ in Stockholm, 24 March 1999.</li>
748
+ <li><a href="http://www.w3.org/Talks/1999/05/www8-html/slide1.html">W3C HTML
749
+ Activity</a> by Dave Raggett, as part of <a
750
+ href="http://www8.org/">WWW8</a> W3C Track, 12 May 1999</li>
751
+ <li><a href="http://www.w3.org/Talks/1999/12/XHTML-XML99/slide1.html">W3C
752
+ Work on XHTML</a> by Dave Raggett, at <a
753
+ href="http://www.gca.org/attend/1999_conferences/xml_99/">XML '99</a>, 6
754
+ December 1999. The presentation describes the work being done by W3C on
755
+ XHTML.</li>
756
+ <li><a href="http://www.w3.org/2001/09/21-orf/xhtml-family/"
757
+ hreflang="ja">The XHTML Family</a> (in <span xml:lang="ja"
758
+ lang="ja">???</span>/Japanese) by Masayasu Ishikawa, at <a
759
+ href="http://www.kri.sfc.keio.ac.jp/ORF/2001/" hreflang="ja"><abbr
760
+ title="Shonan Fujisawa Campus">SFC</abbr> Open Research Forum 2001</a>, 21
761
+ September 2001.</li>
762
+ <li><a href="http://www.w3.org/Talks/2002/04/11-pemberton">XForms, XHTML and
763
+ Device Independence</a> by Steven Pemberton, at <a
764
+ href="http://www.w3.org/Consortium/Offices/Germany/Events/Cross-Media-Publishing">W3C.DE-Arbeitstreffen:
765
+ Cross Media Publishing</a>, 11 April 2002.</li>
766
+ <li><a href="http://www.w3.org/2002/Talks/www2002-xhtml/">XHTML Family</a> by
767
+ Masayasu Ishikawa, as part of <a href="http://www2002.org/">WWW2002</a> <a
768
+ href="http://www2002.org/w3ctrack.html">W3C Track</a>, 9 May 2002. Slides
769
+ are available in <a type="application/xhtml+xml"
770
+ href="http://www.w3.org/2002/Talks/www2002-xhtml/Overview.xhtml">XHTML</a>
771
+ or <a type="text/html"
772
+ href="http://www.w3.org/2002/Talks/www2002-xhtml/Overview.html">HTML</a>
773
+ (XHTML version needs XHTML+MathML+SVG+Ruby support).</li>
774
+ <li><a href="http://www.w3.org/2002/Talks/orf2002-xhtml2/"
775
+ hreflang="en">XHTML 2.0</a> (in <span xml:lang="ja"
776
+ lang="ja">???</span>/Japanese) by Masayasu Ishikawa, at <a
777
+ href="http://www.kri.sfc.keio.ac.jp/ORF/2002/" hreflang="ja"><abbr
778
+ title="Shonan Fujisawa Campus">SFC</abbr> Open Research Forum 2002</a>, 22
779
+ November 2002.</li>
780
+ <li><a href="http://www.w3.org/2003/Talks/www2003-steven-xhtml-xforms/">XHTML
781
+ 2.0 and XForms</a> by Steven Pemberton, as part of <a
782
+ href="http://www2003.org/">WWW2003</a> <a
783
+ href="http://www.w3.org/2003/03/w3c-track03.html">W3C Track</a>, 21 May
784
+ 2003.</li>
785
+ <li><a href="http://www.w3.org/2003/Talks/www2003-steven-horizontal/">W3C's
786
+ Horizontal Activities Usage: XHTML Family Case Study</a> by Steven
787
+ Pemberton, WWW2003 W3C Track, 23 May 2003.</li>
788
+ <li><a href="http://www.w3.org/2003/Talks/0704-steven-xhtml-xforms/">XHTML
789
+ and XForms</a> by Steven Pemberton, at <span xml:lang="nl"
790
+ lang="nl">Zomersessie van NGI Limburg: XHTML2 en XForms, state of the art
791
+ en stage-ervaringen bij het W3C</span>, 3 July 2003.</li>
792
+ <li><a href="http://www.w3.org/2005/Talks/04-19-steven-XHTML2-XForms/">XHTML2
793
+ and XForms</a> by Steven Pemberton, organized by the <a
794
+ href="http://www.w3c.de/Events/2005/HTMLtut.html">German and Austrian
795
+ Office</a>, 19 April 2005.</li>
796
+ <li><a href="http://www.w3.org/2005/Talks/05-steven-www2005/">The Semantic
797
+ Browser: Improving the User Experience</a> by Mark Birbeck and Steven
798
+ Pemberton, WWW2005 W3C Track, 13 May 2005.</li>
799
+ <li><a
800
+ href="http://www.w3.org/2005/Talks/05-steven-Metadata-in-XHTML2/">Metadata
801
+ in XHTML2</a> by Steven Pemberton, at <a
802
+ href="http://www.newssummit.org/2005/">News Standards Summit 2005</a>, 24
803
+ May 2005.</li>
804
+ <li><a href="http://www.w3.org/2005/Talks/05-steven-xtech/">XHTML2:
805
+ Accessible, Usable, Device Independent and Semantic</a> by Steven Pemberton
806
+ and Mark Birbeck, at <a
807
+ href="http://www.xtech-conference.org/2005/about.asp">XTech 2005
808
+ Conference</a>, 26 May 2005.</li>
809
+ </ul>
810
+
811
+ <h3><a id="guidelines" name="guidelines">Guidelines for authoring</a></h3>
812
+
813
+ <p>Here are some rough guidelines for HTML authors. If you use these, you are
814
+ more likely to end up with pages that are easy to maintain, look acceptable to
815
+ users regardless of the browser they are using, and can be accessed by the many
816
+ Web users with disabilities. Meanwhile W3C have produced some more formal
817
+ guidelines for authors. Have a look at the detailed <a
818
+ href="http://www.w3.org/TR/WCAG10">Web Content Accessibility Guidelines
819
+ 1.0</a>.</p>
820
+ <ol>
821
+ <li><strong>A question of style sheets.</strong> For most people the look of
822
+ a document - the color, the font, the margins - are as important as the
823
+ textual content of the document itself. But make no mistake! HTML is not
824
+ designed to be used to control these aspects of document layout. What you
825
+ should do is to use HTML to mark up headings, paragraphs, lists, hypertext
826
+ links, and other structural parts of your document, and then add a style
827
+ sheet to specify layout separately, just as you might do in a conventional
828
+ Desk Top Publishing Package. That way, not only is there a better chance of
829
+ all browsers displaying your document properly, but also, if you want to
830
+ change such things as the font or color, it's really simple to do so. See
831
+ the <a href="http://www.w3.org/MarkUp/Guide/Style">Touch of style</a>.</li>
832
+ <li><strong><code>FONT</code> tag considered harmful!</strong> Many filters
833
+ from word-processing packages, and also some HTML authoring tools, generate
834
+ HTML code which is completely contrary to the design goals of the language.
835
+ What they do is to look at a document almost purely from the point of view
836
+ of layout, and then mimic that layout in HTML by doing tricks with
837
+ <code>FONT</code>, <code>BR</code> and <code>&amp;nbsp;</code>
838
+ (non-breaking spaces). HTML documents are supposed to be structured around
839
+ items such as paragraphs, headings and lists. Yet some of these documents
840
+ barely have a paragraph tag in sight!
841
+ <p>The problem comes when the content of pages needs to be updated, or
842
+ given a new layout, or re-cast in XML (which is now to be the new mark-up
843
+ language). With proper use of HTML, such operations are not difficult, but
844
+ with a muddle of non-structural tags it's quite a different matter;
845
+ maintenance tasks become impractical. To correct pages suffering from
846
+ injudicious use of <code>FONT</code>, try the <a href="#tidy">HTML Tidy
847
+ program</a>, which will do its best to put things right and generate better
848
+ and more manageable HTML.</p>
849
+ </li>
850
+ <li><strong>Make your pages readable by those with disabilities.</strong> The
851
+ Web is a tremendously useful tool for the visually impaired or blind user,
852
+ but bear in mind that these users rely on speech synthesizers or Braille
853
+ readers to render the text. Sloppy mark-up, or mark-up which doesn't have
854
+ the layout defined in a separate style sheet, is hard for such software to
855
+ deal with. Wherever possible, use a style sheet for the presentational
856
+ aspects of your pages, using HTML purely for structural mark-up.
857
+ <p>Also, remember to include descriptions with each image, and try to avoid
858
+ server-side image maps. For tables, you should include a summary of the
859
+ table's structure, and remember to associate table data with relevant
860
+ headers. This will give non-visual browsers a chance to help orient people
861
+ as they move from one cell to the next. For forms, remember to include
862
+ labels for form fields.</p>
863
+ </li>
864
+ </ol>
865
+
866
+ <p>Do look at the <a href="../WAI/Resources/#gl">accessibility guidelines</a>
867
+ for a more detailed account of how to make your Web pages really accessible.</p>
868
+
869
+ <h3><a id="validation" name="validation" href="http://validator.w3.org/">W3C
870
+ Markup Validation Service</a></h3>
871
+
872
+ <p>To further promote the reliability and fidelity of communications on the
873
+ Web, W3C has introduced the <a href="http://validator.w3.org/">W3C Markup
874
+ Validation Service</a> at <code class="URI">http://validator.w3.org/</code>.</p>
875
+
876
+ <p>Content providers can use this service to validate their Web pages against
877
+ the HTML and XHTML Recommendations, thereby ensuring the maximum possible
878
+ audience for their Web pages. It also supports XHTML Family document types such
879
+ as XHTML+MathML and <a href="#XHTMLplusMathMLplusSVG">XHTML+MathML+SVG</a>, and
880
+ also other markup vocabularies such as <a href="../Graphics/SVG/">SVG</a>.</p>
881
+
882
+ <p>Software developers who write HTML and XHTML editing tools can ensure
883
+ interoperability with other Web software by verifying that the output of their
884
+ tool complies with the W3C Recommendations for HTML and XHTML.</p>
885
+
886
+ <h4><a id="tidy" name="tidy">HTML Tidy</a></h4>
887
+
888
+ <p>HTML Tidy is a stand-alone tool for checking and pretty-printing HTML that
889
+ is in many cases able to fix up mark-up errors, and also offers a means to
890
+ convert existing HTML content into well-formed XML, for delivery as XHTML. HTML
891
+ Tidy was originally written by <a href="../People/Raggett/tidy/">Dave
892
+ Raggett</a>, and it is now maintained as an <a
893
+ href="http://tidy.sourceforge.net/">open source project at SourceForge</a> by a
894
+ group of volunteers.</p>
895
+
896
+ <p>There is an <a
897
+ href="http://lists.w3.org/Archives/Public/html-tidy/">archived</a> public
898
+ mailing list html-tidy@w3.org. Please send bug reports / suggestions on HTML
899
+ Tidy to this mailing list.</p>
900
+
901
+ <h2><a id="forums" name="forums">Discussion Forums</a></h2>
902
+
903
+ <p>Changes to HTML necessitate obtaining a consensus from a broad range of
904
+ organizations. If you have a great idea, it will take time to convince others!
905
+ Here are some of the places where discussion on HTML takes place:</p>
906
+ <dl>
907
+ <dt><a id="public-xhtml2"
908
+ href="http://lists.w3.org/Archives/Public/public-xhtml2/latest"
909
+ name="public-xhtml2">public-xhtml2@w3.org</a> (<a
910
+ href="http://lists.w3.org/Archives/Public/public-xhtml2/feed.rss">RSS
911
+ feed</a>)</dt>
912
+ <dd><strong>New!</strong> This is the public mailing list where the XHTML2
913
+ Working Group will conduct its work per its <a
914
+ href="/2007/03/XHTML2-WG-charter.html#communication">charter</a>. </dd>
915
+ <dt><a id="www-html" name="www-html"
916
+ href="http://lists.w3.org/Archives/Public/www-html/">www-html@w3.org</a> (<a
917
+ href="http://www.w3.org/2002/09/Lists2RSS?ml=www-html&amp;realm=Public">RSS
918
+ feed</a>)</dt>
919
+ <dd><strong>Note:</strong> The purpose of this list may change in March
920
+ 2007. A technical discussion list. If you have a proposal for a change to
921
+ HTML/XHTML, you might start a discussion here to see what other
922
+ developers think of it.
923
+ <ul>
924
+ <li><a href="http://www.w3.org/Mail/Request">how to subscribe</a></li>
925
+ <li><a href="http://lists.w3.org/Archives/Public/www-html/">archives
926
+ from 1994 to present</a></li>
927
+ <li>(We're working on moving the old archives to W3C. Stay tuned!)</li>
928
+ </ul>
929
+ </dd>
930
+ <!-- Not sure what to do with this list yet -->
931
+ <dt><a id="www-html-editor" name="www-html-editor"
932
+ href="http://lists.w3.org/Archives/Public/www-html-editor/">www-html-editor@w3.org</a>
933
+ (<a
934
+ href="http://www.w3.org/2002/09/Lists2RSS?ml=www-html-editor&amp;realm=Public">RSS
935
+ feed</a>)</dt>
936
+ <dd><strong>Note:</strong> The purpose of this list may change in March
937
+ 2007. This is a list to report errors / send review comments on
938
+ HTML/XHTML specifications. <em>This is NOT a discussion list.</em> Anyone
939
+ may send comments without subscription, although you'll be <a
940
+ href="http://www.w3.org/2002/09/aa/">requested to give explicit
941
+ approval</a> to include your message in our publicly-readable <a
942
+ href="http://lists.w3.org/Archives/Public/www-html-editor/">mailing list
943
+ archive</a> at your first post. To subscribe, send subscription request
944
+ to www-html-editor-request@w3.org. For more information, see <a
945
+ href="http://www.w3.org/Mail/Request">how to subscribe</a>.</dd>
946
+ <dt><a
947
+ href="http://lists.w3.org/Archives/Public/w3c-translators/">w3c-translators@w3.org</a>
948
+ (<a
949
+ href="http://www.w3.org/2002/09/Lists2RSS?ml=w3c-translators&amp;realm=Public">RSS
950
+ feed</a>)</dt>
951
+ <dd>This is a mailing list for people working on translations of W3C
952
+ specifications such as the <a href="translations">HTML/XHTML
953
+ Recommendations</a>. To subscribe, send an email to
954
+ w3c-translators-request@w3.org with the word "subscribe" in the subject
955
+ line; (include the word "unsubscribe" if you want to unsubscribe.) The <a
956
+ id="trans" name="trans"
957
+ href="http://lists.w3.org/Archives/Public/w3c-translators/">archive</a>
958
+ for the list is accessible online.</dd>
959
+ <dt><a id="comp.infosystems.www.authoring.html"
960
+ name="comp.infosystems.www.authoring.html"
961
+ href="news:comp.infosystems.www.authoring.html">comp.infosystems.www.authoring.html</a></dt>
962
+ <dd>A USENET newsgroup where HTML authoring issues are discussed. "How To"
963
+ questions should be addressed here. Note that many issues related to
964
+ forms and CGI, image maps, transparent gifs, etc. are covered in the <a
965
+ href="http://www.boutell.com/faq/"><abbr
966
+ title="World Wide Web">WWW</abbr> <abbr
967
+ title="Frequently Asked Questions">FAQ</abbr></a>.</dd>
968
+ <dt>IETF MHTML WG (closed)</dt>
969
+ <dd>Developed <a href="http://www.rfc-editor.org/rfc/rfc2557.txt">RFC
970
+ 2557</a> - "MIME Encapsulation of Aggregate Documents, such as HTML
971
+ (MHTML). J. Palme et al. March 1989.</dd>
972
+ <dt><a href="http://www.w3.org/MarkUp/HTML-WG">IETF HTML Working Group</a>
973
+ (closed)</dt>
974
+ <dd>The HTML working group of the <a href="http://www.ietf.org/">IETF</a>,
975
+ closed in 1996.</dd>
976
+ <dt>Web Conferences</dt>
977
+ <dd>The next international conference dedicated to the Web is <a
978
+ href="http://www2007.org/">WWW2007</a>, to be held in Banff, Canada. The
979
+ last was <a href="http://www2006.org/">WWW2006</a> in Edinburgh,
980
+ Scotland.</dd>
981
+ </dl>
982
+
983
+ <h2><a id="related" name="related">Related W3C Work</a></h2>
984
+ <dl>
985
+ <dt><a id="xml" name="xml" href="../XML/">XML</a></dt>
986
+ <dd>XML is the universal format for structured documents and data on the
987
+ Web. It allows you to define your own mark-up formats when HTML is not a
988
+ good fit. XML is being used increasingly for data; for instance, W3C's
989
+ metadata format <a href="../RDF/"><abbr
990
+ title="Resource Description Framework">RDF</abbr></a>.</dd>
991
+ <dt><a id="style" name="style" href="../Style/">Style Sheets</a></dt>
992
+ <dd>W3C's <a href="../Style/CSS/">Cascading Style Sheets language</a>
993
+ (<abbr title="Cascading Style Sheets">CSS</abbr>) provides a simple means
994
+ to style HTML pages, allowing you to control visual and aural
995
+ characteristics; for instance, fonts, margins, line-spacing, borders,
996
+ colors, layers and more. W3C is also working on a new style sheet
997
+ language written in XML called <a href="../Style/XSL/"><abbr
998
+ title="Extensible Stylesheet Language">XSL</abbr></a>, which provides a
999
+ means to transform XML documents into HTML.</dd>
1000
+ <dt><a id="dom" name="dom" href="../DOM/">Document Object Model</a></dt>
1001
+ <dd>Provides ways for scripts to manipulate HTML using a set of methods and
1002
+ data types defined independently of particular programming languages or
1003
+ computer platforms. It forms the basis for dynamic effects in Web pages,
1004
+ but can also be exploited in HTML editors and other tools by extensions
1005
+ for manipulating HTML content.</dd>
1006
+ <dt><a id="i18n" name="i18n"
1007
+ href="../International/">Internationalization</a></dt>
1008
+ <dd>HTML 4 provides a number of features for use with a wide variety of
1009
+ languages and writing systems. For instance, mixed language text, and
1010
+ right-to-left and mixed direction text. HTML 4 is formally based upon
1011
+ Unicode, but allows you to store and transmit documents in a variety of
1012
+ character encodings. Further work is envisaged for handling vertical text
1013
+ and phonetic annotations for Kanji (<a href="../TR/ruby">Ruby</a>).</dd>
1014
+ <dt><a id="wai" name="wai" href="../WAI/">Access for People with
1015
+ Disabilities</a></dt>
1016
+ <dd>HTML 4 includes many features for improved access by people with
1017
+ disabilities. W3C's Web Accessibility Initiative is working on providing
1018
+ effective guidelines for making your pages accessible to all, not just
1019
+ those using graphical browsers.</dd>
1020
+ <dt><a id="xforms" name="xforms" href="Forms/">XForms</a></dt>
1021
+ <dd>Forms are a very widely used feature in web pages. W3C is working on
1022
+ the design of the next generation of web forms with a view to separating
1023
+ the presentation, data and logic, as a means to allowing the same forms
1024
+ to be used with widely differing presentations.</dd>
1025
+ <dt><a id="math" name="math" href="../Math/">Mathematics</a></dt>
1026
+ <dd>Work on representing mathematics on the Web has focused on ways to
1027
+ handle the presentation of mathematical expressions and also the intended
1028
+ meaning. The <a href="http://www.w3.org/TR/MathML2"><abbr
1029
+ title="Mathematical Markup Language">MathML</abbr></a> language is an
1030
+ application of XML, which, while not suited to hand-editing, is easy to
1031
+ process by machine.</dd>
1032
+ </dl>
1033
+
1034
+ <h2><a id="contacts" name="contacts">Contacts</a></h2>
1035
+
1036
+ <div class="address">
1037
+ <ul>
1038
+ <li><a href="../People/all#steven">Steven Pemberton</a> is the HTML Activity
1039
+ Lead and the Team Contact for the XHTML2 Working Group</li>
1040
+ </ul>
1041
+ </div>
1042
+
1043
+ <p><a href="http://validator.w3.org/check/referer"><img
1044
+ src="../Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" />
1045
+ </a></p>
1046
+
1047
+ <p id="navbar1" class="navbar"><span class="hide"><a href="#main">Skip to main
1048
+ content</a> |</span> <a href="#news">news</a> <!-- | <a href="#mission">mission</a> -->
1049
+ | <a href="#recommendations">specs (XHTML, HTML4, ...)</a> | <a
1050
+ href="#drafts">public drafts</a> | <a title="W3C HTML/XHTML Test Suites"
1051
+ href="Test/">test suites</a> | <a href="#tutorials">tutorials</a> | <a
1052
+ href="#slides">slides</a> | <a href="#guidelines">guidelines</a> | <a
1053
+ href="#validation">validation</a> | <a
1054
+ title="Articles related to the HTML Activity" href="Articles">articles</a> | <a
1055
+ title="Translations of HTML/XHTML specifications"
1056
+ href="translations">translations</a> | <a title="XHTML2 Working Group Charter"
1057
+ href="/2007/03/XHTML2-WG-charter">charter</a> | <a
1058
+ href="http://www.w3.org/2000/09/dbwg/details?group=32107">participants</a> | <a
1059
+ href="http://www.w3.org/2004/01/pp-impl/32107/instructions">join</a> | <a
1060
+ title="HTML Working Group Roadmap" href="xhtml-roadmap/">roadmap</a> | <a
1061
+ title="XForms - The Next Generation of Web Forms" href="Forms/">XForms</a> | <a
1062
+ href="#forums">forums</a> | <a href="#tidy">HTML Tidy</a> | <a
1063
+ href="#related">related work</a> | <a href="#previous"
1064
+ title="Previous versions of HTML">HTML 4.0/3.2/2.0</a> | <a id="historical1"
1065
+ title="Some early ideas for HTML" name="historical1"
1066
+ href="historical">historical</a></p>
1067
+ </div>
1068
+
1069
+ <p class="back">Back to <a accesskey="T" href="#top">page top</a>, <a
1070
+ accesskey="Q" href="#quick">quick links</a>, <a accesskey="N"
1071
+ href="#navbar">navigation</a></p>
1072
+ <hr />
1073
+
1074
+ <div class="footer">
1075
+ <p id="copyright" class="copyright"><a rel="Copyright"
1076
+ href="/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 1995-2007 <a
1077
+ href="/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup>
1078
+ (<a href="http://www.csail.mit.edu/"><abbr
1079
+ title="Massachusetts Institute of Technology">MIT</abbr></a>, <a
1080
+ href="http://www.ercim.org/"><acronym
1081
+ title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>,
1082
+ <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
1083
+ href="/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a
1084
+ href="/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>, <a
1085
+ rel="Copyright" href="/Consortium/Legal/copyright-documents">document use</a>
1086
+ and <a rel="Copyright" href="/Consortium/Legal/copyright-software">software
1087
+ licensing</a> rules apply. Your interactions with this site are in accordance
1088
+ with our <a href="/Consortium/Legal/privacy-statement#Public">public</a> and <a
1089
+ href="/Consortium/Legal/privacy-statement#Members">Member</a> privacy
1090
+ statements.</p>
1091
+
1092
+ <p>This page was last modified on: $Date: 2009/01/29 10:00:16 $</p>
1093
+ </div>
1094
+ </body>
1095
+ </html>