(logo)  HTML 4.0 Compatibility Test

This page tests AWeb's compatibility with the HTML 4.0 standard (W3C Recommendation, December 1997). Each section demonstrates supported features and clearly marks incompatibilities or limitations based on the AWeb documentation.


Quick Navigation

Document Structure | Frames | Advanced Tables | Advanced Forms | Embedded Content | URL Schemes (data:, cid:) | Style Sheets | HTML comments | Scripting | XHTML Support | Graceful Failure | Compatibility Notes

Document Structure (HTML 4.0)

Fully Supported - Text Editing Elements

Test Examples

Test:

This is normal text. This text was inserted and should appear in red with underline.

This is normal text. This text was deleted and should appear in grey with strikethrough.

Example of both: This sentence has inserted text and deleted text in it.

Fully Supported - PRE Element with HTML Tags

PRE Element Test: Column Alignment with HTML Tags

What it tests: The PRE element should preserve whitespace and maintain column alignment even when HTML tags (like links) appear inside the preformatted content. This is critical for displaying formatted text like file listings, code examples, or tabular data with embedded links.

How to run: View this page - the columns in the PRE block below should be properly aligned, with the links maintaining the same column positions as if they were plain text.

Expected results: All columns should align vertically. The filename, category, size, and description columns should line up correctly, even though HTML <A> tags are embedded in the content. Spaces between elements should be preserved as non-breaking spaces to maintain alignment.

Test:
file1.lha            comm/misc  1.9M  OS4 Direct file transfer vi...    
file21.lha           comm/net   352K  OS3 get https files for the...    
file231.lha          comm/net  4325K  OS3 SSH2 suite, client/serv...          
file3421.lha         dev/c      925K  OS3 Open source video game ...            
file24321.lha        dev/misc  8.42M  OS3 Game Creator with AGA s...            

Note: The columns should align perfectly. If the alignment is broken, it indicates that whitespace normalization in PRE blocks is not working correctly. The spaces between the links should be preserved as non-breaking spaces (0xA0) to maintain column alignment.

Back to top


Fully Supported

Test Examples

This document uses HTML 4.01 Transitional DOCTYPE.

The STYLE element is supported in the HEAD, though CSS rendering capabilities are limited.

Back to top


Frames (HTML 4.0)

Fully Supported

Test Examples

Frames require a separate frameset document. Here's an example structure:

<FRAMESET COLS="25%,75%">
  <FRAME SRC="nav.html" NAME="navigation" FRAMEBORDER="1" SCROLLING="yes">
  <FRAME SRC="content.html" NAME="main" FRAMEBORDER="1" SCROLLING="auto">
  <NOFRAMES>
    <BODY>Your browser does not support frames.</BODY>
  </NOFRAMES>
</FRAMESET>

Fully Supported - IFRAME

IFRAME Test

What you should see: An inline frame displaying the specified document. If frames are not supported, the fallback text should appear.

Test:

Back to top


Advanced Tables (HTML 4.0)

Fully Supported

Test Examples

Table with Sections

What you should see: A table with THEAD, TBODY, and TFOOT sections demonstrating HTML 4.0 table structure.

Test:
Header 1 Header 2
Body Cell 1,1 Body Cell 1,2
Body Cell 2,1 Body Cell 2,2
Footer Cell 1 Footer Cell 2

Table with Column Groups

What you should see: A table with COLGROUP and COL elements defining column properties.

Test:
Col 1-2 Col 1-2 Col 3
Data 1 Data 2 Data 3

Fully Supported - Background Image Alignment (bgalign)

What you should see: Tables with background images that are properly aligned relative to their containing elements (table, row, or cell) rather than the document origin. Background images should tile correctly within each element's boundaries. This demonstrates the bgalign mechanism that ensures proper background image positioning in table layouts.

Test:

Table with background image: The background image should be aligned to the table itself and tile within the table boundaries.

Cell 1,1 with table background Cell 1,2 with table background
Cell 2,1 with table background Cell 2,2 with table background

Table with row background image: The background image should be aligned to each row and tile within the row boundaries.

Cell 1,1 with row background Cell 1,2 with row background
Cell 2,1 (no background) Cell 2,2 (no background)

Table with cell background images: Each cell's background image should be aligned to that specific cell and tile within the cell boundaries.

Cell 1,1 with cell background Cell 1,2 (no background)
Cell 2,1 (no background) Cell 2,2 with cell background

Note: The bgalign mechanism ensures that background images are correctly positioned relative to their containing element (table, row, or cell), not the document origin. This is especially important for nested tables, scrolling, and proper background image tiling.

Not Supported

Back to top


Advanced Forms (HTML 4.0)

Fully Supported

Test Examples

HF1: Form with TARGET Attribute

What it tests: FORM element with TARGET attribute to submit form results to a specific frame or window.

How to run: Fill out the form below and click Submit. The result should open in a new window or the specified target frame.

Expected results: The form should submit to test.cgi and display results in a new window (TARGET="_blank") or the specified frame.

Test:

Name:

HF2: Form with NAME Attribute

What it tests: FORM element with NAME attribute for JavaScript access.

How to run: This form has a NAME attribute that allows JavaScript to access it via document.forms['namedform'].

Expected results: The form should be accessible via JavaScript using document.forms['namedform'] or document.forms[0].

Test:

Email:

HF3: BUTTON Element (HTML 4.0)

What it tests: BUTTON element with TYPE="submit", TYPE="reset", and TYPE="button" attributes. This is an HTML 4.0 feature that provides more flexibility than INPUT buttons.

How to run: Click each button below to test their functionality.

Expected results: Submit button should submit the form. Reset button should clear form fields. Button element should trigger any ONCLICK handler but not submit the form.

Test:

Test field:

HF4: All INPUT Types

What it tests: All supported INPUT types: text, password, hidden, checkbox, radio, submit, reset, button, and file.

How to run: Interact with each input type below. Try typing in text fields, selecting checkboxes/radios, clicking buttons, and selecting a file.

Expected results: All input types should display and function correctly. Text fields should accept input, checkboxes/radios should toggle, buttons should work, and file input should open a file requester.

Test:

Text Input:

Password Input:

Checkbox:
Option 1
Option 2

Radio Buttons:
Choice A
Choice B

File Upload:

HF5: SELECT with SIZE Attribute

What it tests: SELECT element with SIZE attribute to control whether it displays as a dropdown (SIZE=1 or omitted) or a list box (SIZE>1).

How to run: Compare the two select elements below - one is a dropdown, the other is a list box.

Expected results: The first SELECT should display as a dropdown menu. The second SELECT with SIZE="3" should display as a list box showing 3 options at once.

Test:

Dropdown (SIZE=1 or omitted):

List Box (SIZE=3):

HF6: SELECT with MULTIPLE Attribute

What it tests: SELECT element with MULTIPLE attribute for selecting multiple options simultaneously.

How to run: Hold Ctrl (or Cmd on Mac) and click multiple options in the list below.

Expected results: You should be able to select multiple options by holding Ctrl/Cmd while clicking. Selected options should be highlighted.

Test:

Select multiple options (hold Ctrl/Cmd and click):

HF7: TEXTAREA with ROWS and COLS

What it tests: TEXTAREA element with ROWS and COLS attributes to control the visible size of the text area.

How to run: Type multiple lines of text in the textarea below. Try pressing Enter to create new lines.

Expected results: The textarea should display with the specified number of rows and columns. It should be scrollable if content exceeds the visible area. Line breaks should be preserved.

Test:

Comments (5 rows, 40 columns):

HF8: Comprehensive HTML 4.0 Form

What it tests: A complete HTML 4.0 form with all supported elements and attributes working together, including FORM TARGET, NAME, BUTTON elements, and all input types.

How to run: Fill out all fields in the comprehensive form below, then test Submit, Reset, and Button elements.

Expected results: All form elements should work correctly. Submit should send all form data. Reset should clear all fields. The form demonstrates all HTML 4.0 form capabilities supported by AWeb.

Test:

Personal Information:
Name:
Email:
Password:

Preferences:
Subscribe to newsletter
Receive email updates
Browser notifications

Gender:
Male
Female
Other

Country:

Interests (select multiple):

Comments:

File Upload:

Not Supported

Back to top


Embedded Content (HTML 4.0)

Fully Supported

Partially Supported (Tolerant Mode Only)

Test Examples

Object Element

What you should see: An OBJECT element with PARAM elements. If the object type is not supported, the fallback text should appear.

Test:
Your browser does not support OBJECT tags.

Embed Element (Tolerant Mode Only)

What you should see: An EMBED element. Note: This requires tolerant mode (Netscape extension).

Test:

Not Supported

Back to top


URL Schemes: data: and cid: (Multipart MIME)

Fully Supported

Test Examples

HF9: data: URLs for Images

What it tests: data: URL scheme allows embedding image data directly in HTML using base64 encoding or URL encoding. This eliminates the need for separate image files.

How to run: View this page - the images below should display correctly using data: URLs.

Expected results: All images should display correctly. The data: URLs should be parsed and the embedded image data should be rendered.

Test:

Base64 encoded PNG image (example 1):
Test PNG Image

HF10: data: URLs in Different HTML Attributes

What it tests: data: URLs should work in various HTML attributes that accept URLs, such as SRC and BACKGROUND.

How to run: View this page and check that data: URLs work in different contexts.

Expected results: Data URLs should be recognized and processed correctly in IMG SRC, TABLE BACKGROUND, and other URL-accepting attributes. Note: data: URLs cannot be opened in new windows as they only exist within the document context.

Test:

Table with data: URL background:

This table cell has a data: URL background image.

HF11: cid: URLs (Content-ID References)

What it tests: cid: URL scheme allows referencing embedded content by Content-ID in multipart MIME messages. This is commonly used in email HTML where images and other resources are embedded as MIME parts.

How to run: Click the link below to open a multipart MIME test file. The cid: URLs in that file will reference embedded MIME parts with matching Content-ID headers.

Expected results: When you open the MIME test file, all cid: URLs should be recognized and resolved to the corresponding MIME parts. Images and background images should display correctly.

Test:

Open multipart MIME test file:
Click here to open cid_test.mime

What the test file contains:

  • HTML document with multiple cid: URL references
  • Embedded PNG images with Content-ID headers: <logo-image>, <background-tile>, <company-logo>, <signature-image>
  • Tests for cid: URLs in IMG SRC attributes
  • Tests for cid: URLs in TABLE BACKGROUND attributes
  • Tests for multiple cid: references in the same document

Note: cid: URLs only work within multipart MIME documents. They cannot be used in regular HTML files. The test file above is a proper multipart MIME document that demonstrates cid: URL functionality.

HF12: data: URLs with Different MIME Types

What it tests: data: URLs support various MIME types. This test demonstrates different content types embedded via data: URLs.

How to run: View this page - different content types should be handled correctly.

Expected results: Each data: URL should be parsed correctly based on its MIME type, and the content should be displayed or processed appropriately. Note: data: URLs cannot be opened in new windows as they only exist within the document context.

Test:

SVG image data: URL (if supported):
SVG via data:

Note: data: URLs work for inline content (like images in IMG tags), but cannot be used in links to open new windows since the data only exists within the current document context.

HF13: Multipart MIME Integration

What it tests: In multipart MIME messages (like HTML email), cid: URLs reference embedded parts, and data: URLs can be used as fallbacks or for inline content. This test demonstrates the integration of both schemes.

How to run: This test shows how cid: and data: URLs can work together. The cid: URLs will work in the MIME test file, while data: URLs work in regular HTML.

Expected results: Both URL schemes should be recognized and processed correctly. cid: URLs should resolve to MIME parts (see cid_test.mime), and data: URLs should embed content directly in regular HTML documents.

Test:

This demonstrates how both URL schemes work:

  • cid: URLs: Work only in multipart MIME documents. See cid_test.mime for examples.
  • data: URLs: Work in regular HTML documents for inline content. Example: Inline data: URL example

Note: In a real multipart MIME message (like HTML email), cid: URLs resolve to MIME parts with matching Content-ID headers. data: URLs embed content directly and work in any HTML context, but cannot be opened in new windows.

Notes

Back to top


Style Sheets (HTML 4.0)

Partially Supported

Test Examples

This paragraph would use inline STYLE attribute, but CSS support is limited in AWeb.

Color Tests: Hex vs Names

What you should see: Text colors using both hex values and CSS color names. Each pair should show the same color.

Test:

Hex: This text should be red (#ff0000).

Name: This text should be red (color name).

Hex: This text should be blue (#0000ff).

Name: This text should be blue (color name).

Hex: This text should be green (#008000).

Name: This text should be green (color name).

Hex: This text should be black (#000000).

Name: This text should be black (color name).

Hex: This text should be brown (#A52A2A).

Name: This text should be brown (color name).

Background Color Tests: Hex vs Names

What you should see: Background colors using both hex values and CSS color names. Each pair should show the same background color.

Test:

Hex: This paragraph should have a light red background with red text (swatch).

Name: This paragraph should have a light red background with red text (color name).

Hex: This paragraph should have a light blue background with blue text (swatch).

Name: This paragraph should have a light blue background with blue text (color name).

Hex: This paragraph should have a light green background with green text (swatch).

Name: This paragraph should have a light green background with green text (color name).

Not Supported

Back to top


HTML 4.01: Multi-line comments (<!-- ... -->)

HTML 4.01 (SGML) comments may span newlines; nothing between the markers below may be laid out or tokenised as markup. If you see a heading COMMENT_LEAK_HEADING or a button labelled COMMENT_LEAK_BUTTON, the parser is closing the comment too early (historically: first > on the next line).

VISIBLE_BEFORE_COMMENT

VISIBLE_AFTER_COMMENT


Scripting (HTML 4.0)

Fully Supported

Test Examples

Test:

Event Handlers

Test:

Note

For comprehensive JavaScript 1.1 testing, see javascript_test.html.

Back to top


XHTML Support

Overview

AWeb now supports XHTML (eXtensible HyperText Markup Language), which is HTML reformulated as XML.

Fully Supported

Test Examples

HF14: Self-Closing Tags (XHTML Syntax)

What it tests: XHTML self-closing tag syntax where empty elements must be closed with />.

How to run: View this page - the self-closing tags below should render correctly.

Expected results: All self-closing tags should display properly. Line breaks, horizontal rules, and images should render correctly.

Test:

This paragraph contains a self-closing line break:
After the break.

This paragraph contains a self-closing horizontal rule:


After the rule.

Self-closing image tag (if image exists): Test Image

HF15: CDATA Sections

What it tests: CDATA sections allow embedding content that contains characters like < and & without them being parsed as markup.

How to run: View this page - the CDATA content below should appear as literal text.

Expected results: The content inside CDATA should appear as plain text, with HTML tags visible as text rather than being parsed.

Test:

CDATA content example:

 and & entities without being parsed.
The browser should display this as literal text.
]]>

After CDATA section.

HF16: CDATA in Script Context

What it tests: CDATA sections are commonly used in XHTML script tags to avoid parsing issues with < and & characters in JavaScript.

How to run: View the page source or check if JavaScript executes correctly.

Expected results: The JavaScript should execute correctly, and CDATA content should be handled properly.

Test:

HF17: XHTML Document Detection

What it tests: AWeb automatically detects XHTML documents via DOCTYPE or XML declaration and applies strict parsing mode.

How to run: This test requires viewing an actual XHTML document. Create a file with XHTML DOCTYPE to test.

Expected results: Documents with XHTML DOCTYPEs should be automatically detected and parsed in strict mode.

Example XHTML DOCTYPE:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Example XML declaration:
<?xml version="1.0" encoding="UTF-8"?>

Notes

Graceful Failure (Malformed HTML)

These examples violate nesting rules or use nonsense attribute values. The browser must not trap/crash; recovery behavior may vary.

HF18: Mis-nested emphasis — EXPECT: partial styling or recovery without crash

What it tests: Overlapping instead of proper inner nesting (<B><I></B></I>).

Expected: Page remains responsive; text below still renders.

Test:

Bold-open italic-open after premature /B before /I

This paragraph must appear after the malformed nesting.

HF19: Unknown MARQUEE-style attribute value — EXPECT: fallback / ignore

Note: MARQUEE is non-standard; invalid BEHAVIOR tests attribute parsing tolerance similar to MQ15.

Test:
HF19: invalid BEHAVIOR — browser must not crash.

Back to top


Compatibility Summary

HTML 4.0 Features Fully Supported

HTML 4.0 Features Not Supported

XHTML Support (New in AWeb 3.6)

HTML 4.0 vs HTML 3.2

This page tests HTML 4.0 specifically. For HTML 3.2 features, see html3_test.html.

Back to top


Last Updated: 2026 - AWeb 3 HTML 4.0 Compatibility Test

Back to AWeb documentation index