The First Lost Attribute of A: TYPE

The first attribute to disappear was a "TYPE" attribute to the "<A>" tag. Actually, much of its functionality got absorbed into the "REL" attribute that largely replaced it. In early 1992 there were still several ideas floating around as to what sorts of parameters this attribute could take. As it is, only a very old and obscure user agent known as "Guide" appears to have ever implemented this attribute. As I have no access to "Guide," I have no way to test how it worked with this attribute.

By mid-1993 when this attribute had been renamed "REL" (and a corresponding "REV" attribute also introduced to provide an inverse relationship description), the list vaguely proposed in 1992 had firmed up to some rather interesting list of alternatives. Some of them would serve only as mere descriptive terms, perhaps to be used by search engines to know what it they are looking at, or if a link button were to be provided in the frame of the browser (as it was on Mosaic) there could be a small graphic to provide the user with some hint of what the file is.

But several of the possible values for TYPE also had something much more interesting one great idea abandonded almost immediately and never restored to regular HTML, and that is the embedded or "present" text. If one were to set "TYPE=PRESENT" the file pointed to would be also retrieved and inserted into the location in place of a visible "<A>" tag. Quickly eliminated from HTML, this functionality would soon resurface in the Server Side Includes, which achieve the same effect, but from the server side instead of the client side. There is a good reason why this sort of functionality was not added to the HTML language, and that is the problem of what to do if a file calls another file, which in turn calls the first file, which calls the second calling the first yet again, and so on. As the number of kinds of HTTP server software packages is quite small, it is a trivial matter to see to it that every server is protected from that kind of mistake, either by limiting how many levels deep one can go, or else by keeping track of file names and returning an error message instead of the contents of a file already called higher up. But with all the possible browsers coming along and so many more yet to come, how easy it would be for one or more to omit this sort of programming protection, or supply it inadequately, such that a malicious web designer could tie up a server indefinately or even crash it.

A similar value, "TYPE=EMBED," was originally thought to be similar to this but later on it hardened into a kind of scripting action, where you would click on it, and then it would fetch the contents of its destination and insert it. This kind of functionality would avoid the danger of "PRESENT" in that the user must manually click on each file to cause it to be read in, thus limiting how deep it could go. This kind of functionality might at best only be approximated with scripting languages, and one really has to wonder how "Guide" implemented it.

In the 1993 version (using "REL" instead of "TYPE"), the following list of values had been proposed:

So, a typical use of the "TYPE" attribute, where it could have an effect, would be the following (but replacing "<" with "[" and ">" with "]" for validity): [P][A NAME=3 HREF="fatima.txt" TYPE="EMBED"]text[/A] which results in:

text

Here are some other possibilities to experiment with. If you can track down a working "Guide" browser, it might do something interesting with one or more of them (but again replacing "<" with "[" and ">" with "]" for validity):

[P][A NAME=3 HREF="fatima.txt" TYPE="PRESENT"]text[/A]

which results in:

text

In HTML 4 the "TYPE" attribute would be reintroduced, but with a different function and purpose altogether.

Recommended Implementation

Since the "TYPE" attribute has been reintroduced to the "<A>" tag with HTML 4.01, but with a different function, it would be confusing to implement this discussed functionality on the "TYPE" attribute, but it could be reasonably added to the "REL" attribute, providing of course that the above described danger is carefully protected against. But I recommend against adding this functionality to the "TYPE" attribute.

Upgrades and Downgrades

Possible downgrades are: Possible upgrades are: This file, "atype.html," is "HTML 0.c" compliant.

The Server Side Include demonstration file "atype1.shtml" is HTML 2.0 Level 1 compliant.

The Raw Text demonstration file "fatima.txt" is ascii text, so HTML validation does not apply to it. __________________________________________________________________

Next Level Up