Move the testing repository back into the Tidy codebase.

Automate testing of any PR's.
Updated README's explaining new processes.
This commit is contained in:
Jim Derry 2021-05-21 09:08:51 -04:00
parent fa6d5b545d
commit 5a1b65d089
1409 changed files with 27036 additions and 4 deletions

101
.github/workflows/build_and_test.yml vendored Normal file
View File

@ -0,0 +1,101 @@
################################################################################
# Build and Test tidy on the latest versions of all of the major platforms.
#
# - Build on multiple operating systems, and where possible, multiple
# architectures. On Windows, we will also build and test MingGW in
# addition to MSVC.
#
# - Report the version number for each binary that is built.
#
# - Run each binary against the regression test suite.
#
################################################################################
name: Build and Test
on:
push:
paths:
- 'src/**'
- 'include/**'
- '.github/workflows/**'
pull_request:
paths:
- 'src/**'
- 'include/**'
- '.github/workflows/**'
jobs:
build_and_test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
flags:
vers_command: "./tidy --version"
test_command: "ruby test.rb test"
- os: macOS-latest
flags: "'-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64'"
vers_command: "./tidy --version"
test_command: "ruby test.rb test"
- os: windows-latest
flags:
vers_command: "./tidy.exe --version"
test_command: "ruby test.rb test"
- os: windows-2016
flags: "-G 'MinGW Makefiles'"
vers_command: "./tidy --version"
test_command: "ruby test.rb test"
steps:
- uses: actions/checkout@v2
# We'll use the windows-2016 instance to perform a MinGW build.
# Of course, we only want to install if this is the correct target.
- name: Install MinGW-w64
if: ${{matrix.os == 'windows-2016'}}
uses: egor-tensin/setup-mingw@v2
with:
platform: x64
- name: Build
working-directory: ${{github.workspace}}/build/cmake
run: cmake ../.. -DCMAKE_BUILD_TYPE=Release ${{matrix.flags}}
- name: Make
working-directory: ${{github.workspace}}/build/cmake
run: cmake --build . --config Release
# Windows MSVC is the only oddball here; why does it install the
# binary into a subfolder, unlike all of the other builds? Let's
# make everything else easier by relocating it to the same spot
# as all the other build locations.
- name: Move the exe to someplace sensible
if: ${{matrix.os == 'windows-latest'}}
run: move-item -path "${{github.workspace}}/build/cmake/Release/tidy.exe" -destination "${{github.workspace}}/build/cmake/"
- name: Show Version
working-directory: ${{github.workspace}}/build/cmake
run: ${{matrix.vers_command}}
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
bundler-cache: true
- name: Bundle Install
working-directory: ${{github.workspace}}/regression_testing
run: bundle install
- name: Run Regression Test
working-directory: ${{github.workspace}}/regression_testing
run: ${{matrix.test_command}}

1
.gitignore vendored
View File

@ -16,3 +16,4 @@ temp*
.DS_Store
.idea
*.old
/regression_testing/cases/*-results/

View File

@ -32,13 +32,14 @@ When youre ready to add a great new feature, these write-ups may be useful.
- Discover how to add new tags to Tidy in [README/TAGS.md][130].
- If you want to add new messages to Tidy, read [README/MESSAGE.md][150].
- Configuration options can be added according to [README/OPTIONS.md][155].
- Pull Requests must pass all existing regression tests, or you must change existing regression test expectations with a good explanation. New features require that you add new regression tests. See [README/TESTING.md][165] for more details.
### Language Localization Guides
Tidy supports localization, and welcomes translations into various languages. Please read up on how to localize HTML Tidy.
- The general README for localizing can be found in [/README/LOCALIZE.md][140].
- And [/localize/README.md][145] contains specific instructions for localizing.
- The general README for localizing can be found in [README/LOCALIZE.md][140].
- And [localize/README.md][145] contains specific instructions for localizing.
## Other Important Links
@ -88,9 +89,10 @@ HTML Tidy and LibTidy are free and open source software with a permissive licens
[125]: README/CONTRIBUTING.md
[130]: README/TAGS.md
[135]: README/LICENSE.md
[140]: /README/LOCALIZE.md
[145]: /localize/README.md
[140]: README/LOCALIZE.md
[145]: localize/README.md
[150]: README/MESSAGE.md
[155]: README/OPTIONS.md
[160]: README/VERSION.md
[165]: README/TESTING.md

72
README/TESTING.md Normal file
View File

@ -0,0 +1,72 @@
# Testing
Its critical that changes you introduce do not cause regressions, i.e., that
Tidys output remains consistent with the introduction of your changes, except
for very specific circumstances.
Additionally, changes that you introduce to Tidy must usually be accompanied by
one or more test cases demonstrating the new feature or changed behavior.
Both of these concerns can be addressed with the Tidy repositorys automated
regression testing features, which are enabled by Github Actions. Any pull
request you make will automatically test your PR against the existing set of
test cases, and any failures are prima facie grounds for rejecting the PR.
You _must_ test your changes locally using the tools and test cases provided in
the `regression_testing/` directory prior to submitting a PR, including adding
test cases to this directory as needed.
## Changes to Existing Output
If your changes affect existing output, its critical to understand _why_, and
if necessary, regenerate the `-expects` files so that the regression testing
tool will pass with your new changes. These `-expects` changes, of course,
become part of your Pull Request, and will be subject to review and conversation
in the Pull Request thread.
If you do cause such regressions, please be prepared to defend why they are
needed.
## New Tests
If youre adding new features to Tidy, code reviewers need to be able to see the
intended effect of your changes via some type of demonstration. As such, please
write at least one test case in `github-cases` and put the expected results in
`github-expects`. These also constitute a part of your Pull Request, and more
importantly, will become part of the standard regression testing suite once the
PR is merged.
Try to keep your test case(s) as succint as possible, and do try to put some HTML
comments in the file explaining the purpose of the test case, and if applicable,
the Github issue and/or PR number.
Note that the files generated in `github-results` for your new test cases are
suitable for use in `github-expects` when you are satisfied with the results.
A sample `case-123a@0.html` might represent issue #123, test **a** in a series
of multiple tests for this issue number, expecting Tidy exit code 0, and might
look something like this:
```
<!DOCTYPE html>
<html>
<!--
This test case represents HTML Tidy issue #123, and demonstrates
the use of new feature #xxx. Tidy should exit with status code 0.
The reason this change is needed is because WHATWG suddently
determined that a standards change #yyyy impacts us because of zzz.
-->
<head>
<title>Case #123a</title>
</head>
<p>The quick brown fox jumps over the lazy dog.<//p>
<body>
</body>
</html>
```
## Regression Testing Specifics
The regression testing mechanism is described more fully in [regression_testing/README.md](../regression_testing/README.md).

View File

@ -0,0 +1,4 @@
source 'https://rubygems.org'
gem 'thor'
gem "tty-editor"

View File

@ -0,0 +1,30 @@
GEM
remote: https://rubygems.org/
specs:
pastel (0.8.0)
tty-color (~> 0.5)
thor (1.1.0)
tty-color (0.6.0)
tty-cursor (0.7.1)
tty-editor (0.6.0)
tty-prompt (~> 0.22)
tty-prompt (0.23.1)
pastel (~> 0.8)
tty-reader (~> 0.8)
tty-reader (0.9.0)
tty-cursor (~> 0.7)
tty-screen (~> 0.8)
wisper (~> 2.0)
tty-screen (0.8.1)
wisper (2.0.1)
PLATFORMS
ruby
x64-mingw32
DEPENDENCIES
thor
tty-editor
BUNDLED WITH
2.1.4

View File

@ -0,0 +1,205 @@
Tidy Regression Testing Specification
=====================================
Background
----------
HTML Tidy uses regression testing as its main means of quality control when
implementing new features and fixing bugs. HTML Tidy has been in constant
development since before unit testing and automated testing were in wide use,
and has proven effective in guiding the development of Tidy.
This repository is the regression testing tool used by Tidy for both
continuous integration, and for development work, and consists for test
cases split into multiple set sets, as well as tools for automating testing.
Testing consists of automatically running some version (of your choice) of HTML
Tidy on various operating systems and architectures against the suite of
test cases, and comparing the Tidy and report output against known, “good”
versions thereof.
This testing process ensures that:
- No regressions occur as a result of the changes you make to HTML Tidy.
Everything that has passed in the past should continue to pass, regardless
of your changes. Changing test expectations for existing test cases must
result in a discussion on the pull request discussion thread, otherwise
regressions are _prima facie_ cause for rejecting your pull request.
- Although touted as a “regression test,” code changes should also be
furnished with a test case that demonstrates the issue being corrected or
the feature being added. Logically you are already informally using one or
most test cases during your development of the patch; this simply
formalizes the requirement for HTML Tidy, and makes it much easier for the
maintainers to understand the impact of your proposed change.
Additionally, when introducing new features or fixing bugs,
new test cases should be written to demonstrate that the fix works against
the test case.
About the Test Tool (test.rb)
-----------------------------
The `test.rb` tool replaces the previous Windows shell and Bash testing
scripts. This start-from-scratch approach is intended to provide a single
script thats platform agnostic, for the primary purpose of enabling
automated testing, but with strong support for use as a manual tool during
HTML Tidy development.
Ruby was chosen as the scripting language of choice because it is available
on every platform, is easy to read (even if you're not a Ruby programmer),
and is supported by the major continuous integration testing providers, such
as Github.
We recognize that some developers have scripting environment preferences,
and as such, please feel free write wrappers around `test.rb` as needed in
order to suit your prefences. If additional CLI API is needed to enable your
scripting environment wrapper, please feel free to request such.
Building Tidy, and Tidy Versions
--------------------------------
The testing tool works by executing `tidy` (or `tidy.exe`, referred to only
as `tidy` continuing) on your platform. Naturally, you dont want to conduct
testing using the normal, installed version of `tidy`, but rather version(s)
that youve built for testing.
By default, the `tidy` used will be in the standard build folder of the
`tidy-html5` directory that is a sibling to this `tidy-html5-tests`
directory. The complete relative path from `test.rb`, then, is:
```
../tidy-html5/build/cmake/tidy[.exe]
```
This makes it convenient when performing testing on both repositories when
theyre checked out. However you can also specify another build of HTML Tidy
as an optional argument, too.
Static Build Considerations
---------------------------
By default, HTML Tidy is built as a console application statically linked to
LibTidy. Although the option to link against a dylib or dll exist when
building, its suggested that you no longer do so, because you might put
yourself into a situation where youre testing multiple command line
executables that are all linked to the same dynamic library!
Although not formally deprecated, you should consider dynamic linking
deprecated and treat it that way. In a world where entire Java Runtime
Environments are shipped _per program_, the benefits of dynamic linking no
longer exist on any modern computer or operating system. In some cases,
modern security hardening even prevents dynamic linking, and were likely to
see such restrictions become more common in the future.
Running Test Tests
------------------
### Preparing the Environment
Assuming that you have a working Ruby interpretor, version 2.7 or so, upon
`CD`-ing into the `tidy-html5-test` directory, you should execute `bundle
install`, which ensures that any dependencies that your environment doesnt
already have will be downloaded.
### Executing the Program
In Windows shell and powershell, simply typing
~~~
test
~~~
will run the tool. Usually. Probably. If not, try `ruby test.rb` in case
your environment is not configured to work directly.
Unix and Unix-like operating systems (including WSL and other Unix-like
environments for Windows) can run the program like such:
~~~
test.rb
~~~
### Testing
When used without any arguments, help will be provided. In general, though,
you can do the following:
| Command | Effect |
|--------------------------------|-----------------------------------|
| `./test.rb test` | Tests all cases in all test sets. |
| `./test.rb only <setname>` | Tests only in the given test set. |
| `./test.rb case <case_number>` | Tests only on a single case. |
Input Specification
-------------------
### Test Sets
“Test sets” are groups of individual tests that are thematically related,
such as accessibility checks, XML-specific tests, historical tests, etc.
Each set of cases consists of directories and a text file within the `cases/`
directory. Each test set shall consist of the following directories/files, where
`setname` indicates the name of the testing set, e.g., `testbase` (our default
set of case files).
- `setname/`, which contains the HTML files to tidy, and an optional
configuration file for each case.
- Test files shall have the format `case-basename@n<.html|.xml|.xhtml>`,
where `nnn` represents the test case name, and the `@n` metadata
represents the required shell exit status code that HTML Tidy should
produce after running the test case. The case name cannot contain
hyphens or the `@` symbol, and should represent something meaningful
such a a Github issue number.
- Optional Tidy configuration files shall be named `case-basename.conf`.
- In the absense of a configuration file, the file `config_default.conf` in
each directory will be used instead.
- `README<.txt|.md>`, which describes the test set.
- `setname-expects/`, which contains the expected output from HTML Tidy.
- Files in the format `case-nnn<.html|.xml|.xhtml>` represent the expected
HTML file as generated by Tidy.
- Files in the format `case-nnn.txt` represent the expected warning/error
output from Tidy.
#### Example
```
cases/
testbase/
config_default.cong
case-427821.html
case-427821.conf
testbase-expects/
case-427821.html
case-427821.txt
```
Output Specification
--------------------
The output specification is written such that it makes it trivial to easily
`diff` a `setname-expects` directory with the output of a test in order
to check for differences.
Test results consist of Tidy's HTML output and Tidy's warning/error output.
Each set of results consists of directories within the `cases/` directory.
- `setname-results` contains Tidy's HTML and warning/error output.
- Files in the format `case-nnn.html` are the HTML file generated by Tidy.
- Files in the format `case-nnn.txt` are the warning/error output from Tidy.
### Example
~~~
cases/
testbase-results/
case-427821.html
case-427821.txt
~~~

View File

@ -0,0 +1 @@
5.7.48

View File

@ -0,0 +1,10 @@
About this test suite:
======================
These files ensure that Tidy is presenting the correct accessibility information
when used with Tidys various levels of accessibility checking.
The original accessibility test script looked for a single line of output
present in Tidy's error output. Current treatment as a standard regression
test accomplishes the same result, in that testing the entire error output is
a superset of testing only the desired output anyway.

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/10.1.1</title>
</head>
<body>
<a href="newpage.html" target="_new">Opens in new window.</a>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/10.1.1</title>
</head>
<body>
<a href="newpage.html" target="_blank">Opens in new window.</a>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/11.2.1</title>
</head>
<body>
<u>x</u>
</body>
</html>

View File

@ -0,0 +1,10 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/11.2.1</title>
</head>
<body>
<applet>
</applet>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/11.2.1</title>
</head>
<body>
<basefont>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/11.2.1</title>
</head>
<body>
<center>Hello</center>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/11.2.1</title>
</head>
<body>
<dir>Hello</dir>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/11.2.1</title>
</head>
<body>
<font size="6">Hello</font>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/11.2.1</title>
</head>
<body>
<isindex prompt="Enter your search phrase: ">
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/11.2.1</title>
</head>
<body>
<menu></menu>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/11.2.1</title>
</head>
<body>
<s>x</s>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/11.2.1</title>
</head>
<body>
<strike>x</strike>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,10 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html lang="en">
<head>
<title>aert1.0/12.1.1</title>
</head>
<frameset>
<frame></frame>
</frameset>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,10 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html lang="en">
<head>
<title>aert1.0/12.1.1</title>
</head>
<frameset>
<frame title=""></frame>
</frameset>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,10 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html lang="en">
<head>
<title>aert1.0/12.1.1</title>
</head>
<frameset>
<frame title=" "></frame>
</frameset>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,12 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/12.4.1</title>
</head>
<body>
<form action="">
<label>Some text:</label>
<input value="****" type="text">
</form>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,12 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/12.4.1</title>
</head>
<body>
<form action="">
<label>Some text:</label>
<input id="control1" value="****" type="text">
</form>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,12 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/12.4.1</title>
</head>
<body>
<form action="">
<label for="control1">Some text:</label>
<input value="****" type="text">
</form>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 3
show-info: no

View File

@ -0,0 +1,23 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/13.10.1</title>
</head>
<body>
<pre>
% __ __ __ __ __ __ __ __ __ __ __ __ __ __
100 | * |
90 | * * |
80 | * * |
70 | @ * |
60 | @ * |
50 | * @ * |
40 | @ * |
30 | * @ @ @ * |
20 | |
10 | @ @ @ @ @ |
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70
Flash frequency (Hertz)
</pre>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/13.1.1</title>
</head>
<body>
<a href="animals.htm">cats</a>
some text
<a href="animals.htm">cats</a>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/13.1.1</title>
</head>
<body>
<a href="animals.htm"></a>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,10 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/13.1.1</title>
</head>
<body>
<a href="animals.htm">Want to find out more about small furry animals?
Then click here and this link will take you there.</a>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/13.1.1</title>
</head>
<body>
<a href="animals.htm">click here</a>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title></title>
<!-- aert1.0/13.2.1 -->
</head>
<body>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/13.2.1</title>
<meta http-equiv="refresh" content="http://www.foo.com/bar.html">
</head>
<body>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.10</title>
</head>
<body>
<script><!-- do nothing --></script>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 2
show-info: no

View File

@ -0,0 +1,23 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.12</title>
</head>
<body>
<pre>
% __ __ __ __ __ __ __ __ __ __ __ __ __ __
100 | * |
90 | * * |
80 | * * |
70 | @ * |
60 | @ * |
50 | * @ * |
40 | @ * |
30 | * @ @ @ * |
20 | |
10 | @ @ @ @ @ |
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70
Flash frequency (Hertz)
</pre>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.1</title>
</head>
<body>
<img src="hasAlt.gif" alt="0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789">
</body>
</html>

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.1</title>
</head>
<body>
<img src="noAlt.jpg">
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.1</title>
</head>
<body>
<img src="gifimage.gif" alt="gifimage.gif">
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.1</title>
</head>
<body>
<img src="bytesImage.gif" alt="34K bytes">
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.1</title>
</head>
<body>
<img src="animage.gif" alt="{short description of image}">
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.2</title>
</head>
<body>
<img src="pie-chart.jpg" alt="Pie chart of federal expenditures">
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>bobby/g13</title>
</head>
<body>
<img src="pie-chart.jpg" longdesc="pie-chart.html" alt="Pie chart of federal expenditures">
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,10 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.2</title>
</head>
<body>
<img src="pie-chart.jpg" alt="Pie chart of federal expenditures">
<a href="pie-chart.html">D</a>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.3</title>
</head>
<body>
<form action="">
<input type="image" name="submit" src="submit.jpg">
</form>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.4</title>
</head>
<body>
<applet code="applet.class"></applet>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.5</title>
</head>
<body>
<object classid="myclass.class" title="This is a bogus object"></object>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.6</title>
</head>
<body>
<a href="clap.wav">The sound of one hand clapping (wav)</a>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.6</title>
</head>
<body>
<a href="clap.au">The sound of one hand clapping (au)</a>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.6</title>
</head>
<body>
<a href="clap.aiff">The sound of one hand clapping (aiff)</a>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.6</title>
</head>
<body>
<a href="clap.snd">The sound of one hand clapping (snd)</a>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.6</title>
</head>
<body>
<a href="clap.ra">The sound of one hand clapping (ra)</a>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>aert1.0/1.1.6</title>
</head>
<body>
<a href="clap.rm">The sound of one hand clapping (rm)</a>
</body>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

View File

@ -0,0 +1,10 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html lang="en">
<head><title>Frame elements missing valid long descriptions</title></head>
<frameset rows="100,200">
<frame src="TableData.htm">
<frame src="TableLayout.htm" title="this frame title" longdesc="tl.htm">
<frame src="TableLayout2.htm" title="this frame title" longdesc="tl2.htm">
</frameset>
</html>

View File

@ -0,0 +1,3 @@
char-encoding: latin1
accessibility-check: 1
show-info: no

Some files were not shown because too many files have changed in this diff Show More