![]() |
HTML Tag Definitions: Documentation |
|
Once the site at the new server is ready, this message will automatically disappear!
Meanwhile, you can see how the move is progressing at the status page.
|
Home | HTML section |
||
Introduction |
What is a Tag Editor? A dialog with fields to enter and edit the attributes of a tag. Tag Inspector simply shows the same attributes in a different user interface. While in HomeSite 3.01 and ColdFusion Studio 3.11 the VTML files defined only Tag Editors, with the appearance of VTML 2 with version 4.0 of these programs they also contain information used by Tag Insight and the new Tag Inspector. The Tag Definitions that originally came with HomeSite 4.0 and ColdFusion Studio 4.0, and the earlier Tag Editors that came with version 3.x of these programs, simply let you enter values for attributes and then write those into your document - but that's basically all they did. That way it doesn't make much difference whether you use a Tag Editor or Tag Inspector (version 4.0 and later) to edit a tag.
The Tag Definitions in this package are much more than that. First of all, the set is much more complete: you'll find Tag Definitions for many tags that were missing until now (there are about twice as many here!). But these Tag Definitions are not simply "fixes and additions": this set has been carefully designed as a whole according to a number of principles while always keeping general user interface design guidelines into account. The main principles used in the design of these Tag Definitions are:
How these principles have been applied and how this will make your HTML editing life easier will be explained in the following sections.
Most sections below refer to how these principles have been applied in the Tag Editors (as defined in the Tag Definitions).
For Tag Inspector and Tag Insight there's a separate section below explaining what they can and cannot do.
|
||
HTML Standards |
HTML 3.2 and HTML 4.0Forget about HTML 2.0 - it is no longer relevant. But even though HTML 4.0 is the current standard (and has been since December 1997) many browsers currently in use do not support this. Until these browsers really become rare animals in the wild, HTML 3.2 remains an important standard. In the Tag Editors defined by these Tag Definitions, HTML 3.2 is therefore the visible starting point: Every tag that exists in HTML 3.2 has a first tab on the dialog for this. If the tag does not take any attributes in HTML 3.2, this is noted on this first tab: attributes added by HTML 4.0 will be found on one or more extra tabs. Tags that are new in HTML 4.0 (even if they were supported by earlier browsers!) are clearly identified (see visibility below). What you will not find as a Tag Definition are the tags that are considered obsolete in HTML 4.0 (rather than deprecated); if you must use them: the Tag Chooser does have special sections for these. Browser extensionsBut what about all those browser extensions? Don't worry, they are there - also clearly marked. In most cases browser-specific attributes can be found on their own tab pages in the Tag Editors. Most browser-specific tags are also supported and have a clear marker on the dialog to identify them - as well as special sections in the Tag Chooser: Netscape, Internet Explorer, Mosaic and Opera are all covered here. Finally, some attributes that are now officially part of the HTML 4.0 standard but were supported by earlier browsers are "commented" with browser logos: this also covers Netscape, Internet Explorer, Mosaic and Opera. Coding standards and UI guidelinesThese principles will help you maintain strict coding standards and the way these principles are applied in the dialogs is an application of an
important user interface design principle: Recognition is easier than recall. You don't need to memorize what is defined in which standard
and what the browser extensions are: these dialogs will simply show you.
|
|
Visibility |
GroupingThe first visibility principle has been indicated already in the section about HTML standards: attributes are grouped according to the standard they were defined in. But this principle (another important user interface guideline) is taken much further: related attributes are grouped in several levels: on tab pages, in group boxes, and even by proximity. For instance, attributes related to horizontal sizing and positioning are close together - as are the ones for vertical sizing and positioning. Tabbing order in the dialogs also take these relationships into account. Graphical markersThere are many graphical markers in these Tag Editors as well and their position always makes clear what they refer to: every marker identifying a group of attributes always occurs to the left of the grouping it is marking. This occurs on several grouping levels as well: you'll find markers for a whole dialog (in the upper left corner of the dialog), for a group of attributes (to the left of a group box enclosing those attributes) or to the left of an entry field (required attributes). There is one exception: graphical markers that serve as a comment rather than identifying a group are found inside the group box (earlier browsers supporting attributes now in HTML 4.0). Required attributesEvery required attribute is identified with an asterisk Default valuesMany attributes in HTML have defined default values: if the attribute is not present, this is the value that will be used. For every attribute with a list of possible values (usually a dropdown listbox or combobox), this default value is marked in the visible caption. The intelligence aspect of these Tag Editors makes use of this: if you select a default value, it will not be written. You'll know what is happening though since the user interface makes clear what these default values are. If you are not editing an existing tag but inserting a new one, this default value will also be the one initially selected.
One small exception: some tags for use in tables do have a default value for some attributes but this is only in effect if not overruled by a setting on a higher level. In these cases, the initial value in the entry field is blank; the default value is marked but if you select it it will be written, allowing you to override any setting in a "parent" tag (which the Tag Editor cannot "see"). Tag ChooserThe Tag Chooser has yet another visibility aspect that you won't find in the previous (Allaire's) version: not only are the HTML tags grouped
into classes for standard, deprecated, browser-specific and obsolete (with specially designed icons for each), in the listbox on the right you
can also see the difference between those tags that are entered directly into your document (those without any attributes) and those that have a
Tag Editor associated with them.
|
|
Intelligence |
Not needed, not writtenThese Tag editors make a lot more intelligent choices than just deciding whether a value was entered and only writing the attribute in that case. As already mentioned, they are clever enough not to write any default values either (not without informing you: that's what the visibility is for). Sometimes tab pages are a mechanism to make choices. For instance, the LI tag can take a number of attributes, but some only apply when it's used inside an ordered list, some only when it's inside an unordered list. You make the choice (the Tag Editor sees only the tag itself) but based on that choice the Tag Editor writes only the relevant attributes (and throws any non-relevant ones away). Different value setsWhat if there are dropdown lists for ALIGN on both the standard tab and the browser-specific tab? The Tag Editor tries to take a sensible decision: If you choose a browser-specific value, it will assume that is really what you wanted - even if you made a different choice on the other tab. In fact, if you make any choice from the browser-specific list, the Tag Editor will assume you have a reason to make you choice there. Knowing this behavior, you can use it: if you want to avoid a value from the browser-specific list: clear the field there and choose one from the list on the standard tab. Lists in attributesSeveral attributes can take more than a single value: they accept lists of possible or applicable values. The rows and columns in framesets are one example: these attributes accept a comma-separated list of values. In such cases you simply type the list in the entry field.
Other lists can consist only of values from a list of predefined ones. A good example is the FACE attribute of the FONT and BASEFONT tags: you can define a list of font names that the browser will traverse to find the first one available on the user's system. For lists these Tag Editors have a special list builder technique: at least three dropdown lists allow you to choose more values at once; the Tag Editor then combines them into a list. When you edit such an attribute, the current list will appear in the first dropdown list which is editable to you can for instance remove a value from the list while adding new ones by choosing values from the other dropdown lists. The current value is shown above as a reminder.
In the case of font faces there's a bit of extra intelligence: when needed, new font names that contain spaces are put in quotes. Your choice for quoting style is taken into account: if necessary already-existing quotes are replaced before adding new ones! GeneratorsSome tags are containers for lists of options. The Tag Editors for such tags will optionally generate a list of options with numbers as their initial
values. Just fill in the current indent level (tabs) and the number of options to generate and the Tag Editor creates a quick start list for you.
|
|
Tag Insight |
The following features are available only with version 4 of HomeSite and ColdFusion Studio. Tag InsightIn the previous versions of HomeSite (3.01) and ColdFusion Studio (3.11) Tag Insight was controlled by a separate file. That was both an advantage and a disadvantage: it was easy to add new data for Tag Insight; at the same time it was also very easy to create Tag Insight data that were inconsistent with the Tag Editors. Now, Tag Insight is controlled from the same Tag Definition as the Tag Editors are; we gain some and lose some: maintaining consistency has become a lot easier. But the user interface Tag Insight can provide cannot be controlled from these Tag Definitions: they only provide the data for it. What we've lost is the color coding that would make the difference between standard and browser-specific attributes visible. If you need this information, your best option is to use the Tag Editors now: at least mine do make a point of showing this difference. While visibility in Tag Insight has suffered with the loss of color coding, its "intelligence" is absolutely nil. It will happily let you insert attributes that are overruled by others, or insert them twice. It doesn't know anything about defaults or lists. It will generate nothing at all. All it can handle in the user interface is data types (font picker, color picker, lists of possible values, and the rest) but it cannot build value lists. The only thing these tag Definitions can do for Tag Insight (apart from filling the gaps of the ones missing in Allaire's set) is careful definition of data types and value sets: While there is no way to have different sets for standards and browsers, at least the browser-specific and default values can be marked in their captions, and this is what I have done. The data types do cause some different icons to appear before the different attributes. But that's about it: Intelligence can be in Tag Editors only - and I've used that capability. My Tag Editors give you a lot more "insight" in HTML than Tag Insight can ever do. Tag InspectorThe case for Tag Inspector is somewhat more subtle. As with Tag Insight, it's an already-defined user interface that a Tag Definition can only provide data for. But while it can do considerably less than a Tag Editor, it can do a lot more than Tag Insight. It does take existing attributes into account and will in principle not let you insert the same attribute twice. Alas, that's about as far as its "intelligence" goes. The data types have a bit more effect than in Tag Insight: apart from a Color Picker and a Font Picker there's also an interface to the Style Editor (just like in the Tag Editors) which is not present in Tag Insight. But there's still a big drawback here: with Tag Inspector you cannot build value lists; worse: if you use Tag Inspector to edit a font FACE attribute for instance, choosing a value from the fontpicker will destroy any pre-existing list. In the value sets, those values that have been marked as browser-specific or default are visible, just like in Tag Insight. But a value from a dropdown list is always editable so you can enter whatever you like: unlike in a Tag Editor, where this option can be controlled (editable or not) to prevent illegal values from being entered. Tag Inspector also does not allow the multiple-level grouping and classification of attributes that is possible in dialog. Attributes can be assigned to different categories, even to more than one, but only one level is available. To make up as much as possible for the level of visibility possible in Tag Editors, I have taken a radically different approach to Allaire's with version 4.0:
Why not have the attributes categorized by purpose, as in Allaire's original version of the Tag Definitions? Two reasons:
In many cases my approach results in more categories. But you get information about HTML versions, required and optional attributes, and support
from four different browsers, all in a single view. In other words: this categorization makes much more visible.
|
|