<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for GNU Texinfo (version 6.7, 23 September 2019),
a documentation system that can produce both online information and a
printed manual from a single source using semantic markup.
Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995, 1996, 1997,
1998, 1999, 2001, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Free Software
Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
"GNU Free Documentation License". -->
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>HTML Translation (GNU Texinfo 6.7)</title>
<meta name="description" content="HTML Translation (GNU Texinfo 6.7)">
<meta name="keywords" content="HTML Translation (GNU Texinfo 6.7)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2any">
<link href="index.html" rel="start" title="Top">
<link href="Command-and-Variable-Index.html" rel="index" title="Command and Variable Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Generating-HTML.html" rel="up" title="Generating HTML">
<link href="HTML-Splitting.html" rel="next" title="HTML Splitting">
<link href="Generating-HTML.html" rel="prev" title="Generating HTML">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<span id="HTML-Translation"></span><div class="header">
<p>
Next: <a href="HTML-Splitting.html" accesskey="n" rel="next">HTML Splitting</a>, Up: <a href="Generating-HTML.html" accesskey="u" rel="up">Generating HTML</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<span id="HTML-Translation-1"></span><h3 class="section">22.1 HTML Translation</h3>
<span id="index-HTML-translation"></span>
<span id="index-HTML-output_002c-browser-compatibility-of"></span>
<p>First, the HTML generated by <code>makeinfo</code> is standard
HTML 4. When first written, it also tried to be compatible with
earlier standards (e.g., HTML 2.0, RFC-1866).
</p>
<p>Please report output from an
error-free run of <code>makeinfo</code> which has practical browser
portability problems as a bug (see <a href="Reporting-Bugs.html">Reporting Bugs</a>).
</p>
<span id="index-html32_002epm"></span>
<p>Some known exceptions to HTML 3.2 (using
‘<samp>--init-file=html32.pm</samp>’ produced strict HTML 3.2 output, but
this has not been tested lately;
see <a href="Invoking-texi2any.html">Invoking <code>texi2any</code></a>):
</p>
<ol>
<li> HTML 3.2 tables are generated for the <code>@multitable</code> command
(see <a href="Multi_002dcolumn-Tables.html">Multi-column Tables</a>), but they should degrade reasonably in
browsers without table support.
</li><li> The HTML 4 ‘<samp>id</samp>’ attribute is used.
</li><li> The HTML 4 ‘<samp>lang</samp>’ attribute on the ‘<samp><html></samp>’ attribute
is used.
</li><li> Entities that are not in the HTML 3.2 standard are also used.
</li><li> CSS is used (see <a href="HTML-CSS.html">HTML CSS</a>).
</li><li> Some HTML 4 elements are used: <code>span</code>, <code>thead</code>,
<code>abbr</code>, <code>acronym</code>.
</li></ol>
<p>To achieve maximum portability and accessibility among browsers (both
graphical and text-based), systems, and users, the HTML output is
intentionally quite plain and generic. It has always been our goal
for users to be able to customize the output to their wishes via CSS
(see <a href="HTML-CSS.html">HTML CSS</a>) or other means (see <a href="Customization-Variables.html">Customization Variables</a>).
If you cannot accomplish a reasonable customization, feel free to
report that.
</p>
<p>However, we do not wish to depart from our basic goal of widest
readability for the core output. For example, using fancy CSS may
make it possible for the HTML output to more closely resemble the
TeX output in some details, but this result is not even close to
being worth the ensuing difficulties.
</p>
<p>It is also intentionally not our goal, and not even possible, to pass
through every conceivable validation test without any diagnostics.
Different validation tests have different goals, often about pedantic
enforcement of some standard or another. Our overriding goal is to
help users, not blindly comply with standards.
</p>
<p>To repeat what was said at the top: please report output from an
error-free run of <code>makeinfo</code> which has <em>practical</em> browser
portability problems as a bug (see <a href="Reporting-Bugs.html">Reporting Bugs</a>).
</p>
<p>A few other general points about the HTML output follow.
</p>
<span id="index-Navigation-bar_002c-in-HTML-output"></span>
<p><strong>Navigation bar:</strong> By default, a navigation bar is inserted at the
start of each node, analogous to Info output. If the
‘<samp>--no-headers</samp>’ option is used, the navigation bar is only
inserted at the beginning of split files. Header <code><link></code>
elements in split output can support Info-like navigation with
browsers like Lynx and Emacs W3<!-- /@w --> which implement this HTML 1.0
feature.
</p>
<span id="index-Footnote-styles_002c-in-HTML"></span>
<p><strong>Footnotes:</strong> for HTML, when the footnote style is ‘<samp>end</samp>’,
or if the output is not split, footnotes are put at the end of the
output. If the footnote style is set to ‘<samp>separate</samp>’, and the
output is split, they are placed in a separate file. See <a href="Footnote-Styles.html">Footnote Styles</a>.
</p>
<span id="index-Escaping-to-HTML"></span>
<span id="index-Raw-HTML"></span>
<p><strong>Raw HTML</strong>: <code>makeinfo</code> will include segments of Texinfo
source between <code>@ifhtml</code> and <code>@end ifhtml</code> in the HTML
output (but not any of the other conditionals, by default). Source
between <code>@html</code> and <code>@end html</code> is passed without change
to the output (i.e., suppressing the normal escaping of input
‘<samp><</samp>’, ‘<samp>></samp>’ and ‘<samp>&</samp>’ characters which have special
significance in HTML). See <a href="Conditional-Commands.html">Conditional Commands</a>.
</p>
<hr>
<div class="header">
<p>
Next: <a href="HTML-Splitting.html" accesskey="n" rel="next">HTML Splitting</a>, Up: <a href="Generating-HTML.html" accesskey="u" rel="up">Generating HTML</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>