473,804 Members | 3,088 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Lack of end tag messes up form styling - a known bug?

My basic style sheet has a distinctive background and border for forms,
to make the structure clearer and to make it visually evident what
belongs to a form.

However, as people complained that some forms were odd-looking, I
noticed that indeed, fairly often the background is not applied and
there is empty space inside a form I didn't ask for. This was rather
puzzling until I realized that the observed cases seem to result from
one single "error" in my markup.

The "error" is lack of the "optional" </ptag right before a form. That
is,
<p>paragraph text
<form ...>
causes the trouble. For a simple illustration, check
http://www.cs.tut.fi/~jkorpela/test/form.html
on IE 7. (When </pis omitted, the background set for the form is not
there, except for a thin stripe at the top.)

For years, browsers have been reported to behave wrongly when "optional"
end tags for elements are omitted. But this form-related problem appears
even on IE 7, and I don't remember having seen notes about this
particular type of bug elsewhere. What did I miss?

My conclusion is that "optional" end tags should not be omitted. There
is little hope of having browsers fixed, I'm afraid. What we _can_ do is
to stop using "handy" SGML features like tag omissibility.

--
Jukka K. Korpela ("Yucca")
http://www.cs.tut.fi/~jkorpela/

Jun 27 '08 #1
40 2689
In article <5g************ ********@reader 1.news.saunalah ti.fi>,
"Jukka K. Korpela" <jk******@cs.tu t.fiwrote:
My basic style sheet has a distinctive background and border for forms,
to make the structure clearer and to make it visually evident what
belongs to a form.

However, as people complained that some forms were odd-looking, I
noticed that indeed, fairly often the background is not applied and
there is empty space inside a form I didn't ask for. This was rather
puzzling until I realized that the observed cases seem to result from
one single "error" in my markup.

The "error" is lack of the "optional" </ptag right before a form. That
is,
<p>paragraph text
<form ...>
causes the trouble. For a simple illustration, check
http://www.cs.tut.fi/~jkorpela/test/form.html
on IE 7. (When </pis omitted, the background set for the form is not
there, except for a thin stripe at the top.)

For years, browsers have been reported to behave wrongly when "optional"
end tags for elements are omitted. But this form-related problem appears
even on IE 7, and I don't remember having seen notes about this
particular type of bug elsewhere. What did I miss?

My conclusion is that "optional" end tags should not be omitted. There
is little hope of having browsers fixed, I'm afraid. What we _can_ do is
to stop using "handy" SGML features like tag omissibility.
I've run into this a couple of times, and usually it has to do with
the way a specific user agent infers where the missing end tag
should be, based on the content of the html file. (In my case,
however, it had nothing to do with forms.)

I've noticed on a couple of occasions that the W3C validator picks
up on these things, and will explicitly state what it has decided
to do when encountering a missing optional end tag; this choice is
rarely what I meant! But then, I am not as familiar with the full
scope of the html spec as the authors of the validator software...

The upshot is that, for purely practical reasons, I always include
"optional" end tags
Jun 27 '08 #2
David Stone wrote:
I've run into this a couple of times, and usually it has to do with
the way a specific user agent infers where the missing end tag
should be, based on the content of the html file. (In my case,
however, it had nothing to do with forms.)
It should be easy to check what the UA has inferred by using some
Javascript to report on the DOM tree. Does the tree differ depending on
whether or not the end tag is there?
Jun 27 '08 #3
Jukka K. Korpela wrote:
My basic style sheet has a distinctive background and border for forms,
to make the structure clearer and to make it visually evident what
belongs to a form.

However, as people complained that some forms were odd-looking, I
noticed that indeed, fairly often the background is not applied and
there is empty space inside a form I didn't ask for. This was rather
puzzling until I realized that the observed cases seem to result from
one single "error" in my markup.

The "error" is lack of the "optional" </ptag right before a form. That
is,
<p>paragraph text
<form ...>
causes the trouble. For a simple illustration, check
http://www.cs.tut.fi/~jkorpela/test/form.html
on IE 7. (When </pis omitted, the background set for the form is not
there, except for a thin stripe at the top.)
Strangely it does display correctly in IE 4-6 And folks wonder why I am
cynical about future IE8's compliance.

--
Take care,

Jonathan
-------------------
LITTLE WORKS STUDIO
http://www.LittleWorksStudio.com
Jun 27 '08 #4
"Jukka K. Korpela" <jk******@cs.tu t.fiwrote:
My conclusion is that "optional" end tags should not be omitted. There
is little hope of having browsers fixed, I'm afraid. What we _can_ do is
to stop using "handy" SGML features like tag omissibility.
David Stone <no******@domai n.invalidwrote:
The upshot is that, for purely practical reasons, I always include
"optional" end tags
Same here. For a while now, I've been using spam/ospam to add optional
closing tags (and optional quotes around attribute values). It helps
browsers (and browser-like OS components) handle CSS more consistently.
--
Darin McGrew, mc****@stanford alumni.org, http://www.rahul.net/mcgrew/
Web Design Group, da***@htmlhelp. com, http://www.HTMLHelp.com/

"Advice is what you ask for when you know the answer but wish you didn't."
Jun 27 '08 #5
In article <66************ *@mid.individua l.net>,
Harlan Messinger <hm************ *******@comcast .netwrote:
David Stone wrote:
I've run into this a couple of times, and usually it has to do with
the way a specific user agent infers where the missing end tag
should be, based on the content of the html file. (In my case,
however, it had nothing to do with forms.)

It should be easy to check what the UA has inferred by using some
Javascript to report on the DOM tree. Does the tree differ depending on
whether or not the end tag is there?
I don't know, I don't do Javascript. Might be interesting to
see what FireBug does with things like that. As I said in the
original post, however, I just explicitly include all "optional"
end tags anyway, so the point is moot.
Jun 27 '08 #6
VK
On Apr 10, 2:48 pm, "Jukka K. Korpela" <jkorp...@cs.tu t.fiwrote:
The "error" is lack of the "optional" </ptag right before a form.
The P element is being changed from the original paragraph separator
to a block element back in HTML 3.2 or even earlier if I recall
properly. The last time I saw P used as a paragraph separator on the
Web is about 1997-98, so your sample is the first in over ten years.
What actuality do you actually imply by your case?
Jun 27 '08 #7
VK <sc**********@y ahoo.comwrites:
On Apr 10, 2:48 pm, "Jukka K. Korpela" <jkorp...@cs.tu t.fiwrote:
>The "error" is lack of the "optional" </ptag right before a form.

The P element is being changed from the original paragraph separator
to a block element back in HTML 3.2 or even earlier if I recall
properly. The last time I saw P used as a paragraph separator on the
Web is about 1997-98, so your sample is the first in over ten years.
What actuality do you actually imply by your case?
Not so fast. From the HTML 4.01 specs,
http://www.w3.org/TR/html4/struct/text.html#edef-P
9.3.1 Paragraphs: the P element

<!ELEMENT P - O (%inline;)* -- paragraph -->
<!ATTLIST P
%attrs; -- %coreattrs, %i18n, %events --
>
Start tag: required, End tag: optional

Note the last word. Now, since FORM is a block-level element, it should
AFAICT close a P tag, since a P tag cannot contain another block-level
element. Please also note that because of all kinds of inconsistencies ,
I agree (if that's your point) that it's far more worth-while to just
close all damn tags appropriately, even if that's "optional" and focus
on what issues are left.

--
Joost Diepenmaat | blog: http://joost.zeekat.nl/ | work: http://zeekat.nl/
Jun 27 '08 #8
VK
On Apr 11, 1:23 am, Joost Diepenmaat <jo...@zeekat.n lwrote:
VK <schools_r...@y ahoo.comwrites:
On Apr 10, 2:48 pm, "Jukka K. Korpela" <jkorp...@cs.tu t.fiwrote:
The "error" is lack of the "optional" </ptag right before a form.
The P element is being changed from the original paragraph separator
to a block element back in HTML 3.2 or even earlier if I recall
properly. The last time I saw P used as a paragraph separator on the
Web is about 1997-98, so your sample is the first in over ten years.
What actuality do you actually imply by your case?

Not so fast. From the HTML 4.01 specs,http://www.w3.org/TR/html4/struct/text.html#edef-P

9.3.1 Paragraphs: the P element

<!ELEMENT P - O (%inline;)* -- paragraph -->
<!ATTLIST P
%attrs; -- %coreattrs, %i18n, %events --
>

Start tag: required, End tag: optional
I did not mean that it is wrong. I am well aware of "P issue" and
explained it several times at ciwah - where this issue is better
suited IMO - see for instance
http://groups.google.com/group/comp....1685c07c06d971

I am just saying that no one ever widely used it even at the time when
P was officially a paragraph break and not a container - except some
really amateurish pages. So making an issue out of it now is kind of
checking XMP or ISINDEX tag support amidst modern browsers.

IMHO

Jun 27 '08 #9
VK
On Apr 11, 2:07 am, VK <schools_r...@y ahoo.comwrote:
I am just saying that no one ever widely used it even at the time when
P was officially a paragraph break and not a container - except some
really amateurish pages.
"no one ever widely used it" refers to the "permission " to omit the
closing tag, not to P element itself, of course.
Jun 27 '08 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

17
6194
by: CJM | last post by:
....When I say 'form' I'm talking about a conventional paper version, as opposed to a <form>. I'm building a web-based application which needs to be able to create Invoices/Advice Notes/Order Acknowledgements etc... The application itself has a largely fluid layout, but for these printed documents I need to make them fixed, such that the printed layout is consistent. That is, they need to look consistent on an A4 page. Its worth...
3
4356
by: Garmt de Vries | last post by:
On the website of the Dutch Jules Verne Society (www.jules-verne.nl), we have several forms that visitors can use to order something, or to apply for membership. Of course, a form's primary purpose is to be filled out online, but I can imagine, for example, one of our members giving a talk and printing a pile of application forms to hand out to the audience. I am trying to add some specific styles in the print stylesheet so the forms...
12
1461
by: Giggle Girl | last post by:
I want to make a list of form elements that are resistant to CSS. So far I have 1. SELECT boxes 2. INPUT type="file" I am sure there are others. Can someone add to my list so I don't bother this newsgroup asking questions about how to use CSS to change the look of certain elements that are reliant on the OS and cannot be
4
1299
by: Gerry Vandermaesen | last post by:
Hi there, I am wondering if the following can be accomplished in CSS: I have a form with one input per line. Each input is preceded with a label of variable character length. I would like my input's width to grow and fill the rest of the available line. I can't see a way of doing this in pure CSS, the only alternative I see is wrapping each line in a 2-column table, and setting the input width to 100% of the containing cell.
25
2482
by: Dave | last post by:
Hello. In trying to get an anchor element to stylistically match an input or button element, I find that the button and input cannot be styled according to the 2.1 CSS spec. For example, I expected this ruleset: ..but { display: block; background-color: red; font-size: 14px; text-decoration: none; line-height: 16px; width: auto; height: 16px; padding: 0; margin: 0;
3
4215
by: Momomo | last post by:
Hi, I am having a problem with a control which is caused by a style on the page which I am not able to trace. If I use the control in a page without any styling it looks ok. Is there a way to remove/turnoff all CSS styling inside a div?
3
4058
by: Dave Hughes | last post by:
Hi, I've run across a problem styling form controls (quel surprise), or rather in this case, "unstyling" them. I'm trying to put together a theme for a web application which has a fairly primitive theme engine. Specifically, I can define *additional* CSS rules using the theme engine, but I can't remove the pre-existing ones that come with the application. For the vast majority of the theme this hasn't been a problem given that...
9
2055
by: Jeff | last post by:
I've always set form element sizes by using size on textfields and rows and cols on textareas. That's always lead to inconsistencies and a bit of guesswork when you want a form element to fill a fixed width and you want textfields to be as wide as textareas. Now, we can use a bit of CSS to set the width and for textareas also the height.
6
2197
by: shapper | last post by:
Hello, I am creating a form that includes a few JQuery scripts and TinyMCE Editor: http://www.27lamps.com/Beta/Form/Form.html I am having a few problems with my CSS: 1. Restyling the Select
0
9575
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10564
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10308
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10073
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9134
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7609
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6846
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5645
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4288
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.