- From: Bruce Gingery <bruce@gtcs.com>
- Date: Thu, 10 Jul 1997 08:57:07 -0600 (MDT)
- To: www-html-editor@w3.org
I applaud nearly every item I've seen in the proposed spec. This message is plain ASCII E-mail, and no `yelling' is intended. There are just five questions, on first read-through (well since peeks at `Cougar' over the past few months) that I should bring to your attention: 1. TABLES (Ref struct/tables.html within the spec) There seems to be no way to indicate the preference for empty outlined cells. While each browser implementation may be free to default to either behaviour - and certainly that can be seen in current usages - the implication of `flat space' versus `empty cells' visually carries different connotations. Backwards compatibility with browsers not supporting various invisible glyph markup has been a consistent problem that does not SEEM to be addressed in the proposed standard. In the past, the most compatible markup to force outlining of otherwise empty cells was the inclusion of a single ( <BR> ) linebreak markup. This causes most rendering engines to render the cell with no content, rather than not rendering the cell, and has found far more cross-system compatibility (not to mention contextual meaning) than the inclusion of a single non-breaking space ( ) glyph to force the cell to not be considered empty. Ideally, the desired behaviour would be designatable both as a default by table, and individually by cell, at least for optional compliance. In conjunction with the W3C move toward moving specific stylistic information to separate or in-line stylesheets, perhaps this should be ONLY specified there - although this makes the construction of user agents arguably more complex. 2. SCRIPT events and multi-scripting support (Ref interact/scripts.html within the spec) Since no user agents (at least currently - that I've seen) report "text/javascript", "text/tcl", "text/vbscript", "text/perl" among their ACCEPT type lists (although most still say that they accept */*), even active production (server-side includes or CGI genration) of pages best tailored to a given browser is difficult at best - and the user agent creation of multiple support becomes even MORE complex if (for example) an onLoad arbitrarily points to BOTH a JavaScript method and Tcl function. One of two things seem POSSIBLE with slight alteration to the current 4.0 specs: <SCRIPT TYPE="text/javascript> <!-- hide document.write("Hello world!<BR>"); // unhide --> <NOSCRIPT> <SCRIPT TYPE="text/tcl"> <!-- hide document write "Hello world!<BR>" # unhide --> <NOSCRIPT> <SCRIPT TYPE="text/vbasic"> etc .... <NOSCRIPT> Hello world!<BR> </NOSCRIPT </SCRIPT> </NOSCRIPT> </SCRIPT> </NOSCRIPT> </SCRIPT> Which alters the <NOSCRIPT> element from generic scripting support alternate, to SPECIFIC script alternative, and MOVES the NOSCRIPT markup within the <SCRIPT> ... </SCRIPT> range. This allows cascaded compliance in-document, and potentially within linked or meta-included scripting as well, but may break with established convention. Use of markup like this, however, would eliminate the question of event-driven markup-to-script links, such as onLoad, onSubmit, and the like. Such markups could be actively written within the SCRIPT or NOSCRIPT tags for proper behaviour, and the preference of ORDER of scripting language uses becomes the design question of the page, rather than selection of one among many, for those desiring the full functionality across user agents. Unlike the <FRAMES> <FRAMESET> ... <NOFRAMES>, we are not dealing here with a boolean YES or NO - but rather potentially MANY scripts both embedded and linked - in a variety of languages. This method is RECOMMENDED with Objects, so the concept certainly is transferrable. The META header tag then becomes purely advisory and in some cases even misleading - if different preference orders are used for different scripts - merely indicating a default TYPE when not specified in the begin SCRIPT tag. THE ALTERNATIVE, as I see it - is to drop the NOSCRIPT tag entirely, allow user agents which do not implement a given script to render everything within the script tag, but outside the ``hide'' comment brackets. This leaves compliance with multi-line comments a requirement but changes the definition of <SCRIPT> ... </SCRIPT>, slightly. Under this scenario, <SCRIPT> ... </SCRIPT> still alters the meaning of the <!-- ... --> comment tags, but in a logical manner. The <SCRIPT> ... </SCRIPT> becomes a `choose-alternative' markup with ANY valid HTML permitted within it, but the first comment treated by enabled user agents as scripting to feed to the script processor. IF the user agent is able to properly handle the script, then it does NOT render anything contained following that comment, until the </SCRIPT> tag. If the SRC= attribute is present, the change-of-meaning for the comment tags is NOT invoked. The most extreme example under this would be (of other definitions are changed to permit).... <HTML> <SCRIPT TYPE="text/tcl"> <!-- let's write the whole page in Tcl, including meta info proc ... proc ... inline invocations # end hide --> <SCRIPT TYPE="text/javascript"> <!-- hide JavaScript write of entire page including meta info proc ... proc ... inline invocations // end hide --> etc. etc. for other scripting langauges ... </SCRIPT> </SCRIPT> </HTML> ... with the SHORTEST being ... <HTML> <HEAD> ... meta tags for this page ... </HEAD> <BODY possibly customized for unscripted presentation> <SCRIPT TYPE="text/javascript" SRC="url which loads Mocha page"> <SCRIPT TYPE="text/tcl" SRC="url which loads Tcl based page"> <SCRIPT TYPE="text/vbasic" SRC="url which replaces with VBScript"> ... body for browsers which suppport NONE of the above scripts </SCRIPT> </SCRIPT> </SCRIPT> </BODY> </HTML> As a practical matter, this is VERY similar to the usage currently specified for FRAMES, and in most cases, frames pages might be loaded by one of the scripts. In theory, however, this script-nest could logically be nested surrounding the <BODY> segment as NOFRAMES tags so often are - illegally perhaps, but QUITE logically. One thing to be defined here, though, is whether or not META information carries across to potential WHOLE PAGES done in scripting languages. Can the script re-define stylesheet references? If so in HTML or only via its own supported scripting methods and procedures? 3. Scripting where? BUT STILL NOT CORRECTED ... from the mistake in the Wilbur spec, is the inclusion of <SCRIPT> sequences in within the HEAD segment of a document. While a script is arguably meta-data, it forms an intrinsic part of the document, has no use in an HTTP HEAD request, and breaks the optional </HEAD> where a HEAD end defaults when non-supported-in-head markup or CDATA is encountered. This was a major departure for the W3c's longstanding endorsement of backward compatibility. Perhaps the REAL question here is if SCRIPT data belongs within the range of <HTML>...</HTML>, although Wilbur acceptance and massive current usage makes deprecation of the SCRIPT tag and content quite premature, until OBJECT uses are able to subsume all such. Perhaps too, this backwards incompatibility should continue to be ignored, as it now might allow the SCRIPT generation of meta info. 4. Toggling Frames Support - easy for User Agents, hard for writers Currently, someone wishing to present frames, user-selected non- frames presentations, and non-frame-supported presentations must have SEVERAL copies of many things. Would the W3C consider a RECOMMENDATION to the writers of user agents who support scripting and frames that a FRAMES SUPPORT toggle be implemented in the supported scripting languages. This would allow for greatly reduced web traffic, reduced-source HTML management for HTTPd operators - and possibly benefits I've not yet thought of. <HTML> <HEAD> .. meta info <FRAMESET ...> <FRAME ... ... </FRAMESET> </HEAD> </BODY> <SCRIPT TYPE="language of choice MIME type"> <!-- hide script pseudocoding create button target disableFrames() label "Toggle Frames" endcomment --> </SCRIPT> <NOFRAMES> page to display if frames are disabled or not supported </NOFRAMES> </BODY> </HTML> A frame in the above example would contain a comparable button, and with logical SCRIPT language support as in my recommendation #2 above in point 2, the actual frames. User agents could OPTIONALLY support the above button which is inside the alternative-to-frames text but outside the <NOFRAMES> markup during the load of the frames content. Currently, a variety of methods are being used across the web to insure best presentation of frame content, including redirection based upon HTTP REFERER - This should at least help that situation. 5. Clarification from previous revisions of HTTP (and META HTTP-EQUIV) identification for i18n. The original HTTP drafts specified existing header standards for identification of content, many by reference, including: Content-Type: text/html and now Content-Type: text/html;charset=iso8859-1 but also Character-Set: ISO-8859-1 Media-Type: text/html;charset=iso8859-1 Additionally: Content-Language: en-US but now LANG= attributes. Frankly, this brings a confusion into the standards arena, as does the fully legal (because of Usenet/E-Mail header inclusion by reference) <META HTTP-EQUIV="Keywords" CONTENT="keyword list"> and growing use of <META NAME="Keywords" CONTENT="keyword list"> which would of course NOT be sent as meta information in HTTP protocol. And finally, META HTTP-EQUIV="Version" CONTENT="d.dd" which for static documents are a document revision having NOTHING to do with the generation software, with ... META NAME="Generator" CONTENT="some-program-name-no-version-etc" versus META HTTP-EQUIV="Posting-Version" CONTENT="engine revdate; site fqdn" e.g. Posting-Version myWeb 1997/08/01; site w3c.org which slight modification (use of 4-digit year) addresses the Y2K changes, as well. As more and more active elements in pages come into being, as the trend seems to be - the `claimed' source of a page may become more and more important. THANKYOU ... for reviewing these concerns. Feel free to accept or reject any just please don't ignore them outright. Also, you may find of interest my DTML draft specification (Display Technology Markup Language) proposal currently posted in a single HTML page at <URL: http://gtcs.com/dtml/ > - deliberately aimed at multi-object rendering in 3-D space in support of HTML. This is not potentially quite a fancy as VRML, but could be embedded in HTML with only about 2 restriction changes. It's been posted for review for several months had has had very little feed-back so far, so it may just be a little too forward looking. I have not YET attempted to reconcile this draft with XML, nor created anything approaching a DTD. It can be *ignored* for to-paper rendering, and has room for pseudo-display such as voice description of the scene bringing 3-D space more fully into the `enabled display' category. Since it is based on the same precepts as HTML, much of the implementation would require *only* tabular extensions to current parsing. Bruce Gingery <bgingery@gtcs.com> Gateways to CyberSpace - and - Advanced Integrators, LLC
Received on Thursday, 10 July 1997 10:59:04 UTC