These are style guidelines for writing WWW web pages in HTML for the
GNU/FSF web server.
- Every page should have a Copyright notice.
- The default is what's at the bottom of
boilerplate.html.
- If the page is copyrighted by someone else,
make sure their Copyright notice is on the page.
Replace the default FSF Copyright notice at
the bottom of the page with this:
Copyright notice above.
Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111, USA
The reason to note this at the bottom
is so the user finds the copyright information
at the same place on each page.
- If the source text for a set of pages is copyrighted by someone else,
(i.e. you split a document into more than one page)
make sure their Copyright notice is at the bottom of each page,
where the default FSF Copyright notice would otherwise be.
On the page containing their Copyright notice,
you can replace the default FSF Copyright notice at
the bottom of the page with this:
Copyright notice above.
Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111, USA
The reason to note this at the bottom
is so the user finds the copyright information
at the same place on each page.
- All pages should have a notice saying that they are freely distributable.
If you can not get such a permission from the author, please discuss
this with the webmasters first.
- Keep the HTML simple.
Our goal is to get information to people.
Keeping the HTML and site design simple helps accomplish that.
- HTML on the GNU/FSF web server should be conservative.
HTML 2.0
is good enough. HTML 1.0 is acceptable.
We don't want to experiment with the latest features of any
browser on the GNU/FSF web server.
It is important that the pages on the GNU/FSF web server, display well
on all browsers that implement no more than HTML 2.0.
We support the Best
Viewed with Any Browser campaign.
- When using some new HTML construct, test view pages under many browsers,
both text-only and full graphics,
and older versions of each browser as well.
This helps make sure the pages present well under all browsers,
and prevent HTML design that looks great under one version of
one browser, and ugly under many others.
For example, test view under:
- Lynx
- links
- GNU Emacs' w3-mode
- Mozilla
- Arena
- Hot Java
- Mosaic 2 and 2.75b
- Netscape 3, 4, and 5
- Internet Explorer, including the AOL web browser, which is a
special version of Internet Explorer (around 10 million users
have AOL web browser as their only browser)
Of course, please don't install any of the proprietary software
browsers mentioned above if you don't already use them anyway.
- All pages should have
<HTML> <HEAD> <TITLE> <BODY>
pairs (see file boilerplate.html).
This makes up for overly pedantic browsers.
- All pages should have contact info for both the FSF (or
responsible party) and the webmasters at the bottom of each page.
The default is what's at the bottom of
boilerplate.html.
The reason to note this at the bottom
is so the user always finds this contact information
at the same place on each page.
- The first header tag, <Hn>, should have its text duplicated
at the start of the <TITLE> tag.
The <TITLE> tag is used by many browsers in menus like the
history and bookmarks lists, as a link to that page.
Its helps the user to have them the same, so when he clicks on an
item in a list, he gets a page with the same "title".
- The <TITLE> tag should include the phrases
"GNU Project" and "Free Software Foundation (FSF)"
so the pages will be found when WWW search engines are used.
The default is to add this at the end:
" - GNU Project - Free Software Foundation (FSF)".
- The <HEAD> pair should have this line after the <TITLE>
pair:
<LINK REV="made" HREF="mailto:webmasters@gnu.org">
Some browsers use this information to allow users to easily report
problems they find on a page.
- On pages with dated entries (e.g. What's New, Thank GNUs, and
GNU's Bulletins, the newer entries should be first (i.e
reverse chronological order).
- Cite people with e-mail addresses this way:
<A HREF="http://www.stallman.org/rms.html">Richard Stallman</A>
<A HREF="mailto:rms@gnu.org"><rms@gnu.org></A>
which browsers display this way:
Richard Stallman
<rms@gnu.org>
It is less confusing to the user, because it's clear what
is a http: link to another WWW page and what is a mailto: anchor that
will bring up a mail form to fill out and send, if this is supported
by the client.
Also, if the user saves a copy of the page, he will have a copy
of the e-mail address he can use, without going back to his web
browser.
If the person doesn't have a web page, use:
Richard Stallman
<A HREF="mailto:rms@gnu.org"><rms@gnu.org></A>
which browsers display this way:
Richard Stallman
<rms@gnu.org>
- Cite FTP locations of source code with the full URL of the
directory they are in:
<A HREF="ftp://ftp.gnu.org/pub/gnu/standards/">ftp://ftp.gnu.org/pub/gnu/standards/</A>
which browsers display this way:
ftp://ftp.gnu.org/pub/gnu/standards/
It is less confusing to the user, because it's clear that it's
source code to download, not a http: link to another WWW page.
Also, if the user saves a copy of the page, he will have a copy
of the FTP location he can use, without going back to his web
broswer.
We encourage FTP sites to use a directory for each package,
and only put one package's files in each directory,
so that the users can see what versions of that package and related
information can be downloaded (e.g. a ReadMe file,
information of what versions are available, documentations, fonts, etc.).
Also, it means that the FTP location URLs do not need to be changed,
on this and other sites,
as new versions are released into that directory.
Here is an example:
You can download the sources for the
GNU Coding Standards
from directory
ftp://ftp.gnu.org/pub/gnu/standards/ or from a
GNU FTP Mirror Site.
- There is no reliable way to make a non-breaking space in HTML.
Despite the standard, many browsers out there don't understand
. Some browsers (such as DosLynx) use the
Operating System current codepage so even if you use
  -- the ISO Latin-1 code -- if still won't
look right.
- If you specify any color attribute, you should specify all of
them that are allowed for that tag.
This is because some browsers allow users to specify defaults for
the color attributes, and the user's choices could conflict with
your choices, as your choices override the user's choices.
In the worse case, the foreground and background could end up the same.
For example, for the <BODY tag specify all these
attributes:
BGCOLOR,
TEXT,
LINK,
ALINK,
and
VLINK.
- It is okay to use tables if you know what you are doing. Tables take
significant time to render using some browsers, so they should be
small enough so that this is not a problem. 50 lines is probably
a nice arbitrary limit for such tables.
- Some people like to use tables to make the impression of a menu to
the left or right of a text when using graphical browsers. That does
not work very well with text browsers since they will make the menu
appear either on top of the page or at the bottom. If you have a menu
that is more than 30 lines long, then it's very probable that a user
viewing the page will never bother to read the text because it will
be too far down. You should make an effort to keep such menus under
20 lines long so that the content of the page is visible on the
first page when viewing it with a text browser.
A menu bar of one or two lines might accomplish your purpose as well.
- Screen reader software used by most blind people read the text from
left to right, ignoring any tables that you make. If you use tables,
you should make an effort to make sure that reading a whole page left
to right doesn't screw up such software.
Copyright (C) 1996, 1997, 1998, 1999, 2001 Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111, USA
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.