Many of the services that offer free website hosting insert markup into their users' pages for advertising purposes. Often this markup can render an otherwise W3C-compliant document invalid. I found this to be the case when I taught my niece Denika how to write HTML last night. I taught her from the start to write valid XHTML, but we were disappointed to find that the markup added by the free website hosting service we selected caused her page to no longer validate. I wrote the Free Hosting Service HTML Validation Test Page for anyone to copy and post at any of the free website hosting services. The original document is an XHTML 1.0 strict file that validates according to the W3C HTML Validation Service: http://linuxquality.sunsite.dk/articles/validationtest/ It includes a link to the W3C validation service that will validate the referring page (try clicking it here - you'll validate the bug report!): http://validator.w3.org/check/referer It also includes a link that will validate the original document from the server at the Linux Quality Database (http://linuxquality.sunsite.dk/) so the user can compare. Further, the page provides an explanation of why we should all write valid markup, how to get started at creating valid documents, as well as instructions any reader can follow for installing the Test Page at a new hosting service. You can find an example of my page in action here: http://free.hostdepartment.com/goingware/ You will see that the page doesn't validate (at least not as of tonight), even though the document that I uploaded is original to the document at the Linux Quality Database - the difference that breaks validation is a small amount of advertising markup added by the hosting service. You can find an extensive list of free webhosting services at: http://www.freewebspace.net/ My hope is for at least one copy of my Test Page to get installed at every free hosting service, and to educate both users and hosting service operators about the desirability of valid markup, with the result that more people produce it and the free website hosting operators permit it to come through despite adding advertisement markup.
I am thinking this should be a tracking bug for any invalid appendages made by services. Since this is not my component, I will not make it such though. Severity is probably normal or even major due to the scope of the bug. I don't however notice many pages as becoming overly messed up in Mozilla though in most circumstances. If anything, it is usually the ads themselves that don't work such as the Geocities ads that just say undefined.
At least for Netscape My Webpage, it is possible to trick the server into not putting the banner in. Just remove the extension from the page, i.e. change page.html to page, and make sure that there is a META HTTP-EQUIV=Content-type CONTENT="text/html" in the page. An example of with and without the extension is the page I helped my younger sister create (i.e. first webpage) With: http://mywebpage.netscape.com/hannibalrox/hannah.html Without: http://mywebpage.netscape.com/hannibalrox/hannah Surprisingly, IE looks at the Content-Type header and displays the page.
Many services (GeoCities, for one) let you name your pages *.xml and they won't add anything. But still, that's a hack and not helping the point of this bug, which is to make the pages validate even with the stuff added.
I would like to make the reminder that the purpose of this bug is not to remove the advertising, but to make it valid so that it does not invalidate an otherwise valid page.
ok. let use this to track hosting services that need education. Tool HTML Validation Test Page <http://linuxquality.sunsite.dk/articles/validationtest/>
Why does the page use XHTML DOCTYPE/syntax? Since I assume it's not uncommon for hosting services to include empty tags in their included code, and since the syntax for them is not compatible between HTML (4 and previous) and XML (including XHTML), I'd think it would make more sense to use HTML 4.01...
#6 asks why I used XHTML. Well, the first reason was that when I taught my neiece to write web pages, I taught her XHTML from the start. I figured that's the current standard and would probably serve her best into the future. Secondly, if a hosting service were adding tags to users' markup, I'm pretty sure they could always add XHTML to HTML 4.01 pages and they would still validate as HTML 4.01. But not the other way around. Likely some services would score better if I used a more relaxed page, but I felt it was best to hold them to the highest standard available. But if you think it would be productive, I could make a 4.01 test page in addition to the one I have.
Michael: XHTML is the "current" standard, but in practice it isn't really deployable. IE breaks down when you use the correct MIME-type, and most free hosting services won't let you fiddle with the MIME-type anyway, so you have to serve XHTML as text/html, which is basically not a good idea. Ian Hickson has explained this better than I could at <URL:http://www.hixie.ch/advocacy/xhtml>. Since empty elements use incompatible syntax in XHTML and HTML 4.01, I think we should encourage free hosting providers to serve their ads in a manner compatible with HTML 4.01, because it's better to use HTML 4.01 with the text/html MIME-type. (And XHTML 1.0/1.1 don't really offer any advantages over HTML 4.01 unless you're using some sort of XML content-management backend...in which case, you're probably not on a free webhost, either.) So I'd say the best thing to do would be to convert the page to HTML 4.01, and not worry about XHTML until free web hosts start letting you serve XHTML pages as application/xml+xhtml.
Re: Comment #8 From Christopher Hoess 2002-10-18 12:51 > Michael: XHTML is the "current" standard, but in practice it isn't really > deployable. IE breaks down when you use the correct MIME-type, True. > and most free hosting services won't let you fiddle with the MIME-type anyway, Not true. Save the file as .xhtml or .xml and it will work right on most hosts. Funnily, most hosts no longer display their ads when using that extension, as their scripts are configured to add the ads to .html pages only. > so you have to serve XHTML as text/html, which is basically not a good idea. True. > Since empty elements use > incompatible syntax in XHTML and HTML 4.01, I think we should > encourage free hosting providers to serve their ads in a manner > compatible with HTML 4.01, because it's better to use HTML 4.01 with the > text/html MIME-type. Agreed. > (And XHTML 1.0/1.1 don't really offer any advantages > over HTML 4.01 unless you're using some sort of XML > content-management backend.. Well, assume you're on a proper XHTML / XML mime type, then, a good parser *has* to fail to render non-wellformed pages. Which is a nice addition. Unfortunately, IE's parser is broken and considers *many* pages which are actually well-formed broken. > So I'd say the best thing to do would be to convert > the page to HTML 4.01, and not worry about XHTML until free web hosts > start letting you serve XHTML pages as application/xml+xhtml. That's a lot of effort, and it's ironic that it may make sense here to convert back to an old format.
#9: I don't understand your comments regarding XHTML and IE. Yes, IE can't handle XHTML with the correct MIME-type. (It has nothing to do with whether or not they're well-formed; it simply doesn't recognize the MIME-type, so you can't make it render in IE without weird XSLT tricks.) XHTML served as text/html gets treated *just like* HTML 4.01 in Mozilla and IE (because they don't do the right thing for ending empty elements with "/>" in HTML 4.01). Since XHTML offers *no discernable advantage* over HTML 4.01 in this situation, why not encourage banner ads to be served in a way compatible with HTML 4.01, which is, as Hixie explains, a better choice? (For that matter, I don't understand why it would be hard to convert the current XHTML test page to HTML 4.01.)
Re: Comment #10 From Christopher Hoess 2002-10-21 14:42 > Re: Comment #9 > I don't understand your comments regarding XHTML and IE. Yes, IE can't > handle XHTML with the correct MIME-type. Yes. > (It has nothing to do with whether or > not they're well-formed; it simply doesn't recognize the MIME-type, so you > can't make it render in IE without weird XSLT tricks.) Yes. > XHTML served as > text/html gets treated *just like* HTML 4.01 in Mozilla and IE (because they > don't do the right thing for ending empty elements with "/>" in HTML 4.01). Yes. > Since XHTML offers *no discernable advantage* over HTML 4.01 in this > situation, Most likely, yes. > why not encourage banner ads to be served in a way compatible with > HTML 4.01, Agreed. > which is, as Hixie explains, a better choice? Now, where did I disagree to that? > (For that matter, I don't > understand why it would be hard to convert the current XHTML test page to > HTML 4.01.) It wouldn't. Just change the doctype, remove some slashes, etc. That's it. There isn't much difference between XHTML 1.0 and HTML 4.01. The real difference has yet to come, with XHTML 2. It's just hard to convert a whole *site* written in XHTML back to HTML 4.01. And it's also quite ironic. *That* was my point.
Ok, this is really about a content type/server configuration letter and perhaps short technote. We already use variations on MIMETYPE in the status whiteboard I believe although it is not in documented in http://www.mozilla.org/projects/tech-evangelism/site/procedures/bug-fields.html yet. There are currently 22 bugs with mime in their status whiteboard. I will go ahead and add the MIME-XXXX as a status whiteboard status field.
firstname.lastname@example.org, this is about a technote not a general form letter to be sent out and it's translation if any is not related to bug 86690.
I don't know what I was thinking in comment 12. see also bug 183340 related items on devedge: http://devedge.netscape.com/viewsource/2003/mime-types/ http://devedge.netscape.com/viewsource/2002/incorrect-mime-types/ http://devedge.netscape.com/viewsource/2003/xhtml-style-script/ I marking this fixed. If you think something more specific other than bug 183340 should be done, please open a new bug and detail what you think needs to be done.
Moving to new component