HTML Writing Guide

Jerry Stratton January 16, 2006
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1; with no Invariant Section, with no Front-Cover Text, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”

HTML is the language of web browsers. Using HTML, you describe what you want your document to look like on the reader’s web browser. Unlike normal desktop publishing, with HTML you only work in generalities, if you know what you’re doing. Rather than specifying exactly what your document looks like, you specify which parts of the document are important, and in what way they’re important. The reader’s browser then takes that information and creates a web page, regardless of whether that browser is a graphical browser on Windows, a text-based browser on Unix, or a voice reader for the blind. When writing HTML, you surround various parts of the text with descriptions of what added meaning you want the text to convey. For example, if you want a word to be emphasized, you surround that word with the ‘emphasis’ HTML code. Almost all HTML ‘markup’ is done by surrounding the words with the code that affects it. The beginning tag is always a word, such as “em”, surrounded by the greater than and less than symbol: <em>. The ending tag is the same thing, but with a slash added: </em>.



The Most Basic Web Document
You need to surround your entire web document with the ‘html’ tag: <html> to begin and </html> to end. You need to surround the top of the document, or document information with the ‘head’ tag: <head> and </head>. You need to surround the ‘body’ or meat of the document with the ‘body’ tag: <body> and </body>.
It’ll look like:
<html> <head> document information </head> <body> the main part of the document </body> </html>

It is also the text that appears in the window bar of graphical web browsers. You’ll want to give the title of your document. Title The title of the document is used to bookmark your web page if the reader wants to keep a bookmark of it. HTML" /> <meta name="description" value="A guide to creating web documents by hand. If a ‘web spider’ such as Alta Vista indexes your document. You should keep it reasonably short and descriptive.3 Head Putting text in HTML documents Head The ‘head’ is where document information goes. The tag for your keywords is <meta name="keywords" value="keyword1. This is information about the document itself. and the description that summarizes your document. "> and the tag for the description is <meta name="description" value="This is a summary of my document. this is the title of your document in their index. You make some text your title by surrounding it with the <title> and </title> tag. It’s for the browser software. using basic HTML markup code. the keywords that are important in your document. not for the human reading the page. etc. It is cool. keyword2." /> </head> . keyword3."> Sample <head> <title>A Web Writing Guide: Marking Text</title> <meta name="keywords" value="Web. Keywords and Descriptions There are two ‘meta’ tags that set your document’s keywords and description. Meta tags stand on their own: you don’t specify an ending for a meta tag.

If you mean for ‘layout’ changes such as ‘align’ to convey meaning. by default. you will want to center your paragraphs or align them to the right: <p align="right">This is a right-aligned paragraph.</p> You might notice that the “align” attribute does not specify meaning. HTML ignores whatever carriage returns you put into the document. Very much like in your word processor.)</p> <p align="center">This is a centered paragraph. good web browsers will only display one space. You can modify your paragraph tag with the align attribute. you will want to avoid such attributes in favor of cascading style sheets. Please read carefully.4 Body Body The body is where the meat of the document goes. This is true. It also ignores any multiple spaces or tabs: no matter how many spaces you put between two words or at the beginning of a line.</p> <p align="left">This is a left-aligned paragraph. when you start using such attributes you are trying to set a style for your web pages. it replaces them with a space. It usually looks ugly. it specifies layout. and for this reason you need to be careful using it. All of the information that you’re giving to the reader goes in the body. but many changes always affect entire paragraphs. Style sheets let you do that much more easily. If necessary. some changes can be made to individual letters. (Most of them are. Paragraph Tags Paragraph tags affect entire paragraphs of text.</p> Will end up looking like: This is an HTML paragraph. Attributes are things that appear inside of tags. Since it describes physical layout it will be ignored where that layout makes no sense. Marking paragraphs Otherwise normal paragraphs need to be marked with the <p> tag. Please read carefully. . The HTML code: <p>This is an HTML paragraph. that meaning will be lost under certain circumstances. Often. In general. They modify how the text affected by that tag appear on the screen. But that’s a topic for another tutorial. Usually.

For example. You can align your headlines in the same way that you align your paragraphs: <h1 align="right">. let&rsquo. The highest level headline—which produces the largest text—is level 1. Use the <blockquote> tag.s not risk our lives going upstairs to viddie ghosts doing the old in out in out.”--Doug Shaw We’ll be getting to that cite thing and what those ‘&’ things are. Use the <font> tag to increase text size in nonheadlines if you absolutely must. Heading tags mean that the marked text is the headline for the following text. You can currently use up to level 6.&rdquo. Let’s just hide from our droogies in this creepy old cellar. Let&rsquo. let’s not risk our lives going upstairs to viddie ghosts doing the old in out in out. Marking quotes When you make a quote. <blockquote> &ldquo.s just hide from our droogies in this creepy old cellar. The headline tag is <h#>. later on.5 Body Marking headlines You have a number of ‘headline levels’ to work with.--<cite>Doug Shaw</cite> </blockquote> will produce: “Hey. you’ll often want to set it off from the rest of the text. replacing the ‘#’ with the heading level you want. But I think you can probably guess what they do by looking at the text they produce! . for example. Scooob. Scooob. For example: <h1>This <h2>This <h3>This <h4>This is is is is level level level level 1</h1> 2</h2> 3</h3> 4</h4> The above html code produces something like: This is level 1 This is level 2 This is level 3 This is level 4 You should not use heading tags just to make large text.Hey.

<br> --<cite>Dark Hollow</cite> .</strong> Here it is. in a small room. They refer to the source of something that you’re quoting or attributing. and pray make it improbable. Becomes: “But I don’t want a cookie.) Now produce your explanation. To emphasize a word or phrase. You may well have a large number of documents formatted in a ‘text only’ format that requires multiple spaces. with you upon my mind.d rather be in some dark hollow where the sun don&rsquo.But I don&rsquo.</em>) Now produce your explanation. This maintains the ends of lines. If you want to keep these spaces in.t <em>want</em> a cookie. Emphasis Emphasis is usually shown to the reader as italicized. (<em>Sits on sofa.t ever shine<br> Then to be in some big city.) Citations Citations are also usually shown as italic. she cried.6 Body Pre-formatted text Web browsers ignore your carriage returns and format your text according to the size of the reader’s screen. Web browsers also ignore spaces and tabs at the beginnings of lines. Strong The strong tag is usually shown to the readers as bold. <strong>Algernon.” she cried. Be careful doing this: it is usually better (if you have the time) to convert your text-only documents to web documents. (<em>Hands cigarette case. or a ‘keyboard’ entry. a citation. and multiple carriage returns to keep its formatting. Here it is.</em>) becomes: Algernon. strong. &ldquo. The tag is <strong>. (Hands cigarette case.&rdquo. and pray make it improbable. surround the word or phrase with <em> tag. and spaces. Marking text You can mark specific parts of your text as emphasized. I&rsquo. tabs. tabs. (Sits on sofa. you’ll need to use the <pre> tag.

Size If you want your headlines to be really big. They tell the browser. to get Go to 5th Street and drop the CO2 in the first Buick Regal. Styles can be stored in a separate file so that all of your pages have a similar style. what kind of text is contained by the tag. in order to say: Type 666 and press return. you might write: Type <kbd>666</kbd> and press <kbd>return</kbd>. you can also use styles inside each page by adding a “style” attribute to any tag. however. with you upon my mind. Typographical Changes Most of the HTML tags have some sort of semantic meaning. For that. Styles are a topic all their own. and you can change that style without having to edit every page.7 becomes: I’d rather be in some dark hollow where the sun don’t ever shine Then to be in some big city. --Dark Hollow Body From the Keyboard The keyboard tag is for those times when you’re talking about what the reader is doing on their keyboard."> . you can use styles. you want to specify purely typographical changes with no meaning whatsoever. respectively: Go to 5<sup>th</sup> Street and drop the CO<sub>2</sub> in the first Buick Regal. I use this a lot for tutorials—like this one. give them a font-size style: <h1 style="font-size: 800%. Sometimes. Superscript and subscript You can make superscripts and subscripts with the <sup> and the <sub> tags. whether that browser is a graphical web browser or an audio web reader or a cell phone. in a small room. But for now. For example. for example—but you may have less use for it.

8 Body You should not use styles tag to create headlines out of paragraphs of other non-headline tags! That's what the <h> tags (<h1> through <h6>) are for. You can also combine multiple style specifications by separating them with semicolons.zapf chancery. Because you can’t be guaranteed that the reader has the font you specify.">Kermit</span> <span style="font-size: 150%. color: gold. The first font that matches a font that the reader’s computer has will be used. Kermit loves Piggy. their preferred font for that context is used chancery. The character-level functionless tag is <span>. . Courier. You should be careful doing this: graphical browsers use colors to let the reader know what a link is.">loves</span> Piggy. If you change the color. The <div> and <span> tags do nothing on their own. They are designed specifically for adding styles. but as far as computers go. Browsers that output to devices other than screen or printer won't see any difference between your fake headlines and your text.</p></div> Will give you something like: Hello. font-family: koala. you can specify several fonts. There are no guarantees that the reader will see that font. <h1 style="color: green. <h1 style="font-family: American Typewriter. it might look the same as creating them with <h> tags. monospace. separated by commas."> Face You can specify the font itself if you want to use a specific font on your page. The style for color is “color”."><p><span style="font-size: 200%. because you don't really have any. Color You can also change the color of your text.">H</span>ello. Search engines will not prioritize your page based on your headlines. and whether that link has been visited recently. If they don’t have any of them. <div style="float: right. <span style="color: green. There are two “functionless” tags for this purpose."> Styles Without Tags Sometimes you’ll want to add a style where you have no tags. If you create headlines with the style attribute. your fake headlines will blend in with the rest of your document. Always remember that font requests are guidelines for the browser. The paragraph-level functionless tag is <div>. that can confuse the reader. border: inset.

if you ‘nest’ lists as I did above. Apple Orange Kumquat Potato . 2. It looks just like an unordered list except that the list is marked by <ol>. and to determine the correct indentation.9 Body Making lists When you want to present the reader with a list of items. you use the <ul> tag. 3. 4. and you get: 1. <ul> <li>Apple</li> <li>Orange</li> <li>Kumquat</li> <li>Potato</li> <ul> <li>Russet</li> <li>Yellow Fin</li> <li>of the Earth</li> </ul> <li>Tomato</li> </ul> will become:  Apple  Orange  Kumquat  Potato  Russet  Yellow Fin  of the Earth  Tomato Some browsers will use different bullets for each level of the list. and you surround each item with <li>. In order to start a list. Ordered Lists An ordered list is numbered. Unordered Lists Unordered lists use bullets. Replace the ‘ul’ with ‘ol’ in the above list. you can use HTML to handle the bullets or to automatically number the items.

10 Special Characters a. <em>Wonderland</em> was published in 1865 with illustrations by <em>Sir John Tenniel</em>. Russet b. Alice’s Adventures Through the Looking Glass The final Alice book was written by Adam Weisshaupt under the auspices of the Bavarian Illuminati in 1893.000 to 35.000 words. and expands the story from 18. and expands the story from 18. <dl> <dt>Alice&rsquo.</dd> </dl> will become something like: Alice’s Adventures Underground The first Alice book was written between 1862 and 1864 by Charles Lutwidge Dodgson as a tale for the three Liddell girls. Because the “&” marks the beginning of a special character. Mark the terms with <dt> and the definitions with <dd>. Alice’s Adventures in Wonderland Wonderland is a re-telling of Underground. Most of these look like “&word.000 to 35.s Adventures in Wonderland</dt> <dd><em>Wonderland</em> is a re-telling of <em>Underground</em>.s Adventures Through the Looking Glass</dt> <dd>The final <em>Alice</em> book was written by Adam Weisshaupt under the auspices of the <em>Bavarian Illuminati</em> in 1893. of the Earth 5. You will often want to use the strong or emphasis tag along with the definition term (<dt>) to make it stand out. . Special Characters Some text characters don’t use standard beginning and ending tags.”. Surround the definition list with the tag <dl>.”: John &amp.” or “&#number. Wonderland was published in 1865 with illustrations by Sir John Tenniel. Tomato Definition Lists A definition list is like a dictionary entry: each item has a term and a definition. for example. if you really want an ampersand you’ll want to write it as “&amp.s Adventures Underground</dt> <dd>The first <em>Alice</em> book was written between 1862 and 1864 by Charles Lutwidge Dodgson as a tale for the three Liddell girls.</dd> <dt>Alice&rsquo.000 words. Mary.</dd> <dt>Alice&rsquo. Yellow Fin c.

you can use the <br /> tag.’ to place a copyright symbol: ©. it is its own end. You would occasionally even see silliness such as. but it is still not well supported. respectively. There is another way of showing quotes that is conceptually better. That final slash tells the browser that this tag is its own ending. John said. in the past. Even though this looks like a normal tag. Use the following special codes for curly quotes: Code &lsquo. Mary. Mary. and the web took a long time to catch up. there is no ‘end’ to this tag. Quote ‘ ’ “ ” Thus. &rsquo. and it begins and ends here. Forcing Line Breaks If you need to force line breaks. They tend to look pretty stupid (the quotes. not the geeks): John said.11 Special Characters Quotes Most computer geeks use “straight” quotes. The ampersand codes to not convey any meaning. ``Hello. will appear as it is supposed to: John said.Hello. “Hello. This is the <q> tag. It&rsquo. &rdquo. &ldquo. It's nice seeing you!'' Fortunately. It's nice seeing you!" That’s because. “right single quote”. . “left double quote”. but for those that don’t need any text between the beginning and end you can imply an immediate ending with <TAG />. By surrounding a quote with the <q> tag.s nice seeing you!&rdquo. Copyrights Use ‘&copy. and “right double quote”. you don’t have to do that sort of thing any more. Mary. &ldquo. "Hello. All HTML tags require an end. It’s nice seeing you!” These are easy to remember as “left single quote”. they are simply methods of displaying specific characters. More specifically. computers couldn’t display normal quotes. you are specifying some real meaning: that this is a quote. John said. Mary.

12 Image Links What are Links? On the web.gif" /> If you want to show off an image that isn’t on your personal site. another document on your web site. Image Links If you have pictures on your web site. If the image is in a separate folder. This somewhere else can be another part of your document. Pointing to the picture Pointing to a picture is like most other things in html. you have to specify the folder as well. The URL is what goes in between the straight quotes on “src”. except that there isn’t an ‘end’ tag. and for the most part you can use PNG now if you wish to.gif’ in your web site. a link is a connection to somewhere else. or even another document on someone else’s web site.gif" /> This only works if the image is in the same folder as your web page. because that’s what most web browsers can read. PNG is going to take over from GIF. and then get the image’s location. you could point to it with: <img src="mom. you have to specify the site where the image is: <img src="http://sitename/image" /> Usually. if you are charged for extra disk space). ‘GIF’ is more widely known. The ‘picture’ tag (called an image) is: <img src="wherethepictureis" /> If you have a picture called ‘mom. and JPEG is better for photographs. you can put them inside your web documents. In the future. GIF is better for simple drawings. Your pictures should be in ‘gif’ or ‘jpeg’ format. It is often a good idea to store your images in a separate folder just to keep things neat. or URL. In . In general. you’ll use your web browser to look at the image. use: <img src="pictures/mom. a picture. and ‘JPEG’ uses smaller files (saving quota on your account. You can also use any picture accessible on the net! You will of course want to use this ability responsibly: always make sure you have permission to use someone else’s work. If you call the folder “pictures”.

<img src="/Graphics/Cerebus. or middle of the image.hoboes. Aligning text to the image You can align the text next to the image to the top.) A menu will pop up. or middle with the text’s top. When someone without a graphical interface gets a page that has pictures on it. with nothing. You can. the pictures are replaced with the word [IMAGE]. Alternate text for the image A lot of people don’t have graphical interfaces to the net.jpg" /> Always check with the image owner before doing something like this! They might not want you using their image. This aligns the image to the left or right side of the viewer’s page. The addition of ‘clear’ causes the line to break and resume at the bottom of the current image. like always link back to their page.hoboes. or they might want you to do something special with it. Web browsers treat top. you can find an image’s location by holding the mouse button down while the mouse is over the image. Long text will wrap around in an ugly manner—only the first line will be aligned.13 Image Links graphical web browsers. This points to the Negative Space logo no matter where the web page is: <img src="http://www. . albeit a large one. or with something else. and middle-aligned image as if they were just another text character.jpg" alt="The Negative Space Logo" /> You’ll need to be careful that your alternate text makes sense next to whatever normal text you’ve got the picture near. bottom.jpg" align="middle" />Negative Space! You should only want to <em>align</em> top. you can have the text of a page wrap nicely around your pictures. Here’s how to align text to your picture: <img src="picture" align="alignment" /> The alignment can be ‘top’. or middle. bottom. Using ‘left’ and ‘right’. bottom. however. You can force it to stop wrapping with the <br clear="all" /> tag. or ‘middle’. (For Windows computers. If you want something else to be displayed. which aligns the image’s bottom. And remember who your alternate text is for: people or computers that are not downloading your image. or middle with short text. The rest will be underneath the image. You’ll probably usually want ‘middle’: <img src="http://www. with the top of the image at the same level as the next new line. ‘bottom’. also align with ‘left’ or ‘right’. hold the right mouse button down. and one of the items is to “copy” the image location. include the attribute alt="alternate text to be displayed" in your img tag. ‘Bottom’ is the default.

You’ll ‘link’ to that page from your">The Vice President of the United States</a> This allows any of your readers to send e-mail directly to the President or Vice President just as if they were visiting another web page. <a href="filename. Mailing to someone You can also link to an e-mail address. You might decide. The ‘clickable’ text usually appears blocked out or in color to the">The President of the United States</a> Linking to other documents on your site Generally. you would use: <a href="mailto:president@white-house. which stands for ‘anchor’.gov">The President of the United States</a> <a href="mailto:vice-president@white-house. they’ll be able to send a message to the address you linked. you can add “?Subject=This%20is%20my%20Subject” to the end of the address. <a href="mailto:president@white-house. They’ll “click” and write their message. If you want to specify a subject for the message. You are ‘anchoring’ this text to another page on the net. When the reader selects this type of link. and they’ll be able to click on your link and go directly to the mail your rep page without having to know its address on the that means you’re showing your readers the ‘way’ to get there. You can’t have spaces in a ‘URL’.hoboes. readers will be able to “click” that text to get to that page.14 Linking to other documents on your site Hypertext: Linking to other places When you link to other places on the net. When the reader selects that link. For example.html">Click here for the file</a>. if you would like your readers to send e-mail to president@white-house. for example. that the FireBlade Mail Your Rep page (http://www. You can link to these other documents on your site in the same way that you make links to e-mail addresses. so you have to put ‘%20’ wherever a space should appear. The attribute ‘href’ specifies the page you’re anchoring to. . Your web page filenames should always (if it is an html file) end in . you’ll have more than one web page on your web site.hoboes. In graphical browsers. they are transported to the new"> FireBlade Mail Your Rep</a> page!</a> The above example will “link” the words “FileBlade Mail Your Rep” to the web page listed in the “href” option. The ‘tag’ is ‘a’.com/Politics/electednet/) is something that your readers should be able to get to. The <a href="http://www.html.

com/index. you would have to include the site name: <a href="http://www. if the web page you’re linking to is not on your web site. but the best web servers do it that way). which is usually in the upper part of your web browser.hoboes.html">Search the Great Negative Space!</a> You can point to most any Internet site from inside your web pages. http://www. Just like with images. Your main page should almost always be called ‘index. This ‘html code’ links to the search page on Negative Space: <a href="/Search.html">Search Negative Space</a> Linking to other people’s documents You can also link to web pages on other web sites.html’ can have the ‘index. if you wanted to link to the Negative Space search page from your web site.html">The link text</a> For example.html’ but instead end in ‘/’. You can find the ‘href’ for any site you’ve visited by looking in the ‘location’ box.html is better addressed as simply http://www. You’ll often see ‘URL’s which don’t end in ‘.html">Click here for the file</a>. Any page that is called ‘index.html’ left out of the address. you have to specify what web site it is on: <a href="http://sitename/filename.15 Linking to other people’s documents That form only works if the new web page is in the same folder as the web page that is doing the linking. These are the ‘main pages’ of that area of that web site.hoboes.hoboes.html’ (it depends on your web . For example. If the web pages are in different folders. you’ll have to specify the full ‘path’ to the new page: <a href="/folder/filename.

They’re so simple to create. Within the <table> and </table>. Table Cells There are two types of table cells: headers and data. or middle to specify the vertical alignment of the cells in this row. By default. some of them that don’t even use computer screens. right. The alignment of a cell takes precedence over any alignment specified for the row the cell is in. Simpler is almost always better! Table Rows HTML tables are made up of ‘rows’ and ‘columns’. so that if you have three columns. Remember that there are lots of different web browsers out there. Headers tend to be marked off with bold and special alignment. You should be careful with tables. Specify ‘valign=’ top. Sample Here’s a simple table that corresponds fruit to colors: <table> <tr><th>Fruit</th><th>Color</th></tr> <tr><td>Apple</td><td>Red</td></tr> <tr><td>Orange</td><td>Orange</td></tr> <tr><td>Lemon</td><td>Yellow</td></tr> </table> . The tag for a normal ‘data’ cell is <td> and </td>. You can specify the ‘align’ or ‘valign’ of your cells just like you can the rows. but tables themselves are basically quite simple. the line in the one-line cells will be in the center of the cell. The tag for a header cell is <th> and </th>. and just like any other tag. bottom. text is centered up and down. You can specify the alignment of the text in that row with ‘align=’ left. and one column has three lines and the other two have one line. where data is just normal text. You’ll almost always work with them by row rather than by column. You might also need to specify the up/down alignment. The tag is ‘table’. you surround the text you’re putting in the table with ‘<table>’ and ‘</table>’. you can easily make a web page that can’t be read by anyone but you. or center. you’ll surround your rows with <tr> and </tr>.16 Sample Tables Web tables allow you to create fairly complex pages.

or small visible borders. A table tag that says “<table width="100%">” will . Text wraps around it on the right. you can specify the ‘width’ of the table to be a certain percentage.17 It produces a table that looks like: Fruit Apple Color Red Table Width Orange Orange Lemon Yellow Table Borders By default. with thicker borders: <table align="right" border="3"> <tr><th>Fruit</th><th>Color</th></tr> <tr><td>Apple</td><td>Red</td></tr> <tr><td>Orange</td><td>Orange</td></tr> <tr><td>Lemon</td><td>Yellow</td></tr> </table> Fruit Apple Color Red Orange Orange Lemon Yellow Table Width If you need your table to take up a specific amount of the screen. your tables have either no visible border. You can specify a ‘border’ of ‘0’ to have no visible borders. Text wraps around it on the left. A right-aligned table appears on the right of the computer screen. A left-aligned table appears on the left of the computer screen. Here’s a table that is set off to the right. or a ‘border’ of ‘1’ or greater for borders of increasing thickness. size ‘1’. <table border="0"> Aligning Your Tables You can align your tables with ‘left’ and ‘right’.

The browser will have to ignore one of them. You can do the same thing to your cells: <td width="50%"> will make that cell take up half the table’s width. All cells in any column must be the same width! (There are special ways around this. but that’s for a more advanced lesson.18 Table Width span the entire width of the computer screen. whereas “<table width="33%">” will take up a third of the computer screen. .) So. and then specify that the first cell in row two is 33% of the table width. you can’t specify that the first cell in row one is 50% of the table width.

There are other methods. Ask your web service provider if they have any generic forms for you to use. .cgi"> <em>the text of the form</em> <input type="submit" value="Submit This Form" /> </form> The form tag has two attributes: method. <form method="post" action="mailto:username@domain"> Replace username@domain with your full e-mail address. A radio button. You need to surround your form with the <form> tag. It’s a lot like a paper form. If your web service provider doesn’t have a generic computer program for you to use. The “name” of your input type can be whatever you want. You can have the following input types. <input type="checkbox" name="cb" /> <input type="radio" name="rd" /> A checkbox. the user can select only one radio button within that group. With a group of radio buttons (radio types with the same name). You can send it to an e-mail address. formats it. Action The action attribute tells the reader’s web browser where to send this information. but <em>post</em> is the standard. If they don’t. And they do it with—guess what?—an input tag: <input type="input type" name="input name" value="default value" /> The input type describes how you want the data to be entered. With a group of checkboxes. You’ll almost never need the others.19 What can forms ask for? What are Forms? A form is a way for other people to easily give you information. as in: <form method="post" action="/cgi-bin/GenericEMailForm. The method has to be post. forms go through a special web program called a ‘CGI’ that takes the form data. and action. What can forms ask for? Forms ask for input. the user can select any number of checkboxes within that group. you can just specify your e-mail address: mailto:username@wherever. Usually. you’ll have to have the results of the form e-mailed to you. and sends it to you. or you can send it to a special web-based computer program. The Form Tag Forms get marked just like anything else in HTML.

A button that the user can press to erase all the data they have entered and return to the defaults you have set. A Text Box A list of items that the user chooses from. If you have a checkbox with the name ‘Computer’ and value ‘IBM-PC’ in your form. find out if your web service provider has a default generic form CGI.20 What can forms ask for? with the same name). as it makes it very easy for your users to mistakenly erase all of their hard work! The input tag has a ‘name’ attribute and a ‘value’ attribute. Forms weren’t really designed to be e-mailed. . For the text input type. resulting in a set of results: Computer=IBM-PC 486&Computer=Macintosh IIcx&Computer=Newton 100 Yes. You have to have at least one ‘submit’ button for each form. There are two other ways of getting data that don’t use the input tag: <textarea name="TextArea" rows="3" cols="40">A Text Box</textarea> <select name="select"> <option selected>A</option> <option>List</option> <option>of</option> <option>Items</option> </select> And there are two control ‘buttons’: <input type="submit" value="Submit Data!" /> <input type="reset" value="Reset to Defaults" /> A button that the user can press to submit the data. For better results. the user can select only one radio button within that group. this looks pretty ugly. The name is the name of the form field when it gets returned to you. you’ll get the result Computer=IBM-PC when the form is mailed to you. You might even have more than one ‘computer’ checkbox that the reader can check. or your reader won’t have any way to send you the form info once they’ve filled it out! Be careful with the “Reset” type. the value is the text that the reader types into the box. <input type="text" name="tx" /> A line of text. and the reader checks that box. The value is the default value of that form field.

you should only preselect one button in any group. Since only one radio button can be selected at one time. When you type this in. you will notice that the Macintosh IIcx option is already checked. The reader will have to uncheck those if they don’t want them checked. <input type="checkbox" name="Anonymity" value="Yes" />Would you like to remain anonymous?<br /> <input type="checkbox" name="Computer" value="IBM 486" />I have an IBM ‘486<br /> <input type="checkbox" name="Computer" value="Macintosh IIcx" checked />I have a Macintosh IIcx<br /> <input type="checkbox" name="Computer" value="None of the above" />I don’t have any of those. On a graphical interface. The web browser knows what group each button belongs to by the name: each “fruit” button has the name “Fruit”. checkboxes are boxes that the reader can ‘check’ by clicking the mouse. You can pre-check as many checkboxes as you want.21 Radio Buttons Checkboxes You use checkboxes to allow the reader to select any number of options from a list of options. Your users will only be able to select one fruit and one topping. You might have the reader select what fruit they want you to throw at them. The Rotty Apple fruit is the default—it’s preselected with the checked option. except that only one radio button can be selected in any group of radio buttons. and what brand of whipped topping they want in their face. This will produce checkboxes that allow the reader to select any number of computer types.<br /> <input type="checkbox" name="Computer" value="None" />I don’t have a computer. Radio Buttons Radio buttons are like checkboxes. That’s because we included the checked option inside its input tag. <input type="radio" name="Fruit" value="Orange" />Squishy Orange <input type="radio" name="Fruit" value="Apple" checked />Rotty Apple <input type="radio" name="Fruit" value="Banana" />Infested Banana<br> <input type="radio" name="Topping" value="Reddi-Whip" />Reddi-Whip <input type="radio" name="Topping" value="Cool Whip" />Cool Whip <input type="radio" name="Topping" value="Cheez Wiz" />Cheez Wiz <input type="radio" name="Topping" value="TV Brand" />TV Brand Whipped Topping The above html code will create radio buttons for “fruit” and “topping”. . The reader can only select one fruit and one topping at a time. and each “topping” button has the name “Topping”.

which they can edit or replace. and another tag to mark the beginning of each selection: <select name="President"> <option>George Washington</option> <option>John Adams</option> <option>Thomas Jefferson</option> etc. </textarea> And the reader sees a box with four rows and 30 columns that they can type multiple lines into. a collection of radio buttons can get unwieldy and completely fill up your page. The marking resembles lists. If you want to accept lots of text. you have to surround the default text with the <textarea> tag: <textarea name="Essay" rows="4" cols="30"> Please type your essay here. Jr. Selecting from lists When there are large numbers of options to choose from. <option selected>Abraham Lincoln</option> etc. <option>James Earl Carter. Please tell us your name: <input type="text" name="Name" /><br /> Please tell us your e-mail address: <input type="text" name="E-Mail" /> The value of a “text” input type is whatever the reader types into the box. in that you have one tag to surround the selections. The select tag produces a pull-down menu of choices. You can control the height (rows) and width (columns) of the <em>textarea</em> with the ‘rows’ and ‘cols’ attribute. You can also specify the size and the maximum length of the line. you’ll need to use the textarea tag. that value is displayed as the default. So if you use the value attribute here. The textarea tag is a normal html tag.22 Selecting from lists Lines of text You’ll often want the reader to fill out some sort of text: their name or their e-mail address. and the maximum length is the maximum number of characters the reader can type in. The size is the width of the displayed box. for instance.</option> <option>Ronald Wilson Reagan</option> <option>George Herbert Walker Bush</option> . Please tell us your zip code: <input type="text" name="Zip" value="49421" size="5" maxlength="5" /> Accepting lots of text The input type of text only accepts one line of text.

as we did here with Abraham Lincoln. when pressed. the first item in the list (George Washington. You have to have a submit input type (unless you don’t want anyone sending the form anywhere useful) and you can also have a reset input type. The reset type allows the user to re-set all the form values back to their defaults. sends the form back to you. in this case) is the default selection. <input type="submit" value="Submit This Form!" /> <input type="reset" value="Erase What You Said!" /> . Sending it all in You’ve got two other ‘buttons’ that can be used to control the form.23 <option>William Jefferson Clinton</option> </select> Sending it all in Go ahead. The submit type is a button that. mix and match your dream ticket! Normally. if they want to easily start filling out the form from scratch. You can specify any one of the items as the default by adding the attribute selected after the option tag.

com/Mimsy/?ART=129) And have fun writing! Jerry ( Recommended Reading for the Internet ( For further Recommended Software for the Net (http://www. look for: HTML: The Definitive Guide ( Sending it all in More Information Congratulations! You now know how to create some pretty cool web documents. If you have any . please let me know at http://www.shtml) Neon Alley (http://www.shtml) Cascading Style Sheets and HTML ( Webmaster in a Nutshell (http://www.jerrystratton.

or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it. which is a copyleft license designed for free software. 59 Temple Place. in the notice that says that the Document is released under this License. philosophical. this License preserves for the author and publisher a way to get credit for their work. regardless of subject matter or whether it is published as a printed book. 0. Inc. Examples of suitable formats for Transparent copies include plain ASCII without markup. whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor. proprietary formats that can be read and edited only by proprietary word processors. Preamble The purpose of this License is to make a manual. LaTeX input format. either commercially or noncommercially. but changing it is not allowed. represented in a format whose specification is available to the general public.1. But this License is not limited to software manuals. This License is a kind of "copyleft". either copied verbatim. A "Transparent" copy of the Document means a machine-readable copy. it can be used for any textual work. PDF. The "Document". The "Cover Texts" are certain short passages of text that are listed. March 2000 Copyright (C) 2000 Free Software Foundation. The "Invariant Sections" are certain Secondary Sections whose titles are designated. with or without modifying it. . Any member of the public is a licensee. while not being considered responsible for modifications made by others. SGML or XML using a publicly available DTD. if the Document is in part a textbook of mathematics. A copy that is not "Transparent" is called "Opaque". A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. (For example. or with modifications and/or translated into another language. Texinfo input format. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document. commercial. It complements the GNU General Public License. a Secondary Section may not explain any mathematics. textbook. which means that derivative works of the document must themselves be free in the same sense. Applicability and Definitions This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. as Front-Cover Texts or Back-Cover Texts. We have designed this License in order to use it for manuals for free software. and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. Suite 330. Secondarily.25 1. and the machinegenerated HTML produced by some word processors for output purposes only. and is addressed as "you". 1. refers to any such manual or work. as being those of Invariant Sections.) The relationship could be a matter of historical connection with the subject or with related matters. ethical or political position regarding them. Applicability and Definitions GNU Free Documentation License Version 1. below. A "Modified Version" of the Document means any work containing the Document or a portion of it. SGML or XML for which the DTD and/or processing tools are not generally available. or of legal. because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. We recommend this License principally for works whose purpose is instruction or reference. Opaque formats include PostScript. and standard-conforming simple HTML designed for human modification. Boston. in the notice that says that the Document is released under this License.

the material this License requires to appear in the title page. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. Include. "Title Page" means the text near the most prominent appearance of the work's title. preceding the beginning of the body of the text. provided that you release the Modified Version under precisely this License. if there were any. 2. List on the Title Page. you may accept compensation in exchange for copies. to give them a chance to provide you with an updated version of the Document. Use in the Title Page (and on the covers. If the required texts for either cover are too voluminous to fit legibly. which the general network-using public has access to download anonymously at no charge using public-standard network protocols. either commercially or noncommercially. and the license notice saying this License applies to the Document are reproduced in all copies. However. you must either include a machinereadable Transparent copy along with each Opaque copy. For works in formats which do not have any title page as such. 4. 4. and from those of previous versions (which should. can be treated as verbatim copying in other respects. It is requested. 2. you should put the first ones listed (as many as fit reasonably) on the actual cover. and the Document's license notice requires Cover Texts. and Back-Cover Texts on the back cover. the copyright notices. 5. the title page itself. clearly and legibly. that you contact the authors of the Document well before redistributing any large number of copies. to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. If you distribute a large enough number of copies you must also follow the conditions in section 3. one or more persons or entities responsible for authorship of the modifications in the Modified Version. you must take reasonably prudent steps. The front cover must present the full title with all words of the title equally prominent and visible. 3. immediately after the copyright notices. provided that this License. be listed in the History section of the Document). You may add other material on the covers in addition. you must do these things in the Modified Version: 1. Preserve all the copyright notices of the Document. for a printed book. 3. but not required. if it has less than five). and that you add no other conditions whatsoever to those of this License. plus such following pages as are needed to hold. as authors. legibly. and you may publicly display copies. and continue the rest onto adjacent pages. or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document. a license notice giving the public permission to use the Modified Version under the terms of this License. 6. . under the same conditions stated above. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. Copying in Quantity If you publish printed copies of the Document numbering more than 100. in the form shown in the Addendum below. Modifications The "Title Page" means. as long as they preserve the title of the Document and satisfy these conditions. Copying with changes limited to the covers. Both covers must also clearly and legibly identify you as the publisher of these copies. State on the Title page the name of the publisher of the Modified Version. free of added material. with the Modified Version filling the role of the Document. when you begin distribution of Opaque copies in quantity. Modifications You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above. as the publisher. If you publish or distribute Opaque copies of the Document numbering more than 100. You may also lend copies. if any) a title distinct from that of the Document. In addition. Verbatim Copying You may copy and distribute the Document in any medium. together with at least five of the principal authors of the Document (all of its principal authors. you must enclose the copies in covers that carry. If you use the latter option. thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it.26 4. You may use the same title as a previous version if the original publisher of that version gives permission. all these Cover Texts: Front-Cover Texts on the front cover.

Include an unaltered copy of this License. In any section entitled "Acknowledgements" or "Dedications". but you may replace the old one. and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. you must combine any sections entitled "History" in the various original documents. and add to it an item stating at least the title. If there is no section entitled "History" in the Document. year. If there are multiple Invariant Sections with the same name but different contents. 10. likewise combine any sections entitled "Acknowledgements". . Preserve the network location. Such a section may not be included in the Modified Version. provided that you include in the combination all of the Invariant Sections of all of the original documents. and its title. Combining Documents You may combine the Document with other documents released under this License. and likewise the network locations given in the Document for previous versions it was based on. statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. or if the original publisher of the version it refers to gives permission.27 7. unaltered in their text and in their titles. The combined work need only contain one copy of this License. Preserve the section entitled "History". or else a unique number. unmodified. then add an item describing the Modified Version as stated in the previous sentence. 12. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. if any. previously added by you or by arrangement made by the same entity you are acting on behalf of. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. provided it contains nothing but endorsements of your Modified Version by various parties--for example. and multiple identical Invariant Sections may be replaced with a single copy. and any sections entitled "Dedications". You may add a section entitled "Endorsements". 6. year. add their titles to the list of Invariant Sections in the Modified Version's license notice. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section. you may at your option designate some or all of these sections as invariant. 14. These titles must be distinct from any other section titles. 8. To do this. preserve the section's title. In the combination. You must delete all sections entitled "Endorsements. the name of the original author or publisher of that section if known. 11. to the end of the list of Cover Texts in the Modified Version. Collections of Documents You may make a collection consisting of the Document and other documents released under this License. These may be placed in the "History" section. If the Document already includes a cover text for the same cover. provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may omit a network location for a work that was published at least four years before the Document itself. and publisher of the Modified Version as given on the Title Page. and list them all as Invariant Sections of your combined work in its license notice. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document. in parentheses. given in the Document for public access to a Transparent copy of the Document. Preserve all the Invariant Sections of the Document. and replace the individual copies of this License in the various documents with a single copy that is included in the collection. Collections of Documents Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. and publisher of the Document as given on its Title Page. Delete any section entitled "Endorsements". new authors." 6. You may add a passage of up to five words as a Front-Cover Text. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. and a passage of up to 25 words as a Back-Cover Text. authors. forming one section entitled "History". 5. make the title of each such section unique by adding at the end of it. create one stating the title. on explicit permission from the previous publisher that added the old one. under the terms defined in section 4 above for modified versions. Section numbers or the equivalent are not considered part of the section titles. 13. you may not add another. 9.

you may choose any version ever published (not as a draft) by the Free Software Foundation. but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. If the Document specifies that a particular numbered version of this License "or any later version" applies to it. Future Revisions of this License You may extract a single document from such a collection. revised versions of the GNU Free Documentation License from time to time. Each version of the License is given a distinguishing version number. 9. you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. . or rights. Otherwise they must appear on covers around the whole aggregate. 7. See http://www. Such new versions will be similar in spirit to the present version. from you under this License will not have their licenses terminated so long as such parties remain in full compliance. on account of their being thus compiled. sublicense or distribute the Document is void. If the Cover Text requirement of section 3 is applicable to these copies of the Document. or distribute the Document except as expressly provided for under this License. but may differ in detail to address new problems or concerns. provided you insert a copy of this License into the extracted document. the original English version will prevail. However. the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. and will automatically terminate your rights under this License. in or on a volume of a storage or distribution medium. and distribute it individually under this License. 8. 10. and follow this License in all other respects regarding verbatim copying of that document. Any other attempt to copy. so you may distribute translations of the Document under the terms of section 4. parties who have received copies. Translation Translation is considered a kind of modification.28 10. and this License does not apply to the other self-contained works thus compiled with the Document. Such a compilation is called an "aggregate". modify. if they are not themselves derivative works of the Document. Future Revisions of this License The Free Software Foundation may publish new. does not as a whole count as a Modified Version of the sublicense. In case of a disagreement between the translation and the original English version of this License. modify. Aggregation with Independent Works A compilation of the Document or its derivatives with other separate and independent documents or works. Termination You may not copy. provided no compilation copyright is claimed for the compilation. If the Document does not specify a version number of this License.gnu. then if the Document is less than one quarter of the entire aggregate. Replacing Invariant Sections with translations requires special permission from their copyright holders.