Certain versions of the Konqueror browser have a serious problem with form input in Drupal 4.4.x and 4.5.x. The symptoms are that keyboard and mouse input is completely ignored in the affected "text" and "textarea" fields. The symptoms only occur on textual fields that occur within a <fieldset>...</fieldset> tag set. This occurs, for example, when the form_group() API function is invoked.

I have tested several variants on the fieldset attributes, and as far as I can tell it doesn't matter what attributes are applied. I also tried it with a manually-created <fieldset><input type="text" ... /></fieldset> sequence, to eliminate the subtags such as legend, description, and title. The problem occurs even with a bare fieldset, and immediately goes away when the form elements are used without being in a fieldset. I further tested to ensure that the <table> tag was not involved, because a Google search suggested that there were problems with tables and fieldsets in Konqueror. Again, the problem is duplicable with no table in the fieldset.

It took a lot of digging, but I have finally traced the problem to the file misc/drupal.css. Specifically, the following clause appears to be at fault:

.node-form fieldset {
      display: inline;
}

If I comment out the "display: inline;" attribute, then the fields work correctly. There does not appear to be any ill effect from this so far, but I haven't tested extensively nor have I tested to see if this patch breaks any other browsers.

I can duplicate this problem across several patch levels of Konqueror 3.3.0, and across Drupal 4.5.0 through 4.5.2.

CommentFileSizeAuthor
#8 drupal-css1.patch451 bytesandremolnar
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

syscrusher’s picture

Component: base system » node system

I've verified that the patch doesn't break Firefox 1.0, and also that it does fix the problem with Konqueror 3.3.0 in Drupal 4.4, on one of my production sites. Incidentally, the problem doesn't occur with older Konqueror versions, as far as I can tell.

Steven’s picture

I believe that piece of CSS is there for IE5, but I can't remember if it was for Windows or Mac. I'll do some testing later.

Junyor’s picture

Works fine in Safari and Opera with or without that rule.

IE 5 seems to have the same problem with or without it. In 4.5.2, the fieldsets aren't displayed at all. In HEAD, they cross the screen, pushing everything else down.

In other words, it doesn't seem to have any bad effects on Mac browsers with or without that rule.

syscrusher’s picture

BTW, I can also duplicate this bug with the CVS version of Drupal 4.6 as of 2005-03-24.

Stefan Nagtegaal’s picture

I can verify that this works flawlesly with drupal 4.6 and any Mac browser..
It would be nice if this would be applied..

syscrusher’s picture

The bug also bit me on the drupal.org site. I finished a new module and tried to create a project to announce it, but one of the required fields in the node/add/... page for Project has the CSS bug. I had to switch to Firefox in order to create the project, because I couldn't enter the data from Konqueror.

frjo’s picture

I had the same problem as syscrusher when I tried to add a new project with Safari (v125.12). It was not possible to enter anything to the field "CVS directory". With Mozilla it worked OK.

andremolnar’s picture

FileSize
451 bytes

This is not tested - I'm not a khtml user... But, I am taking everyone's word for it that this is what is needed to fix a problem. Here is a patch that removes the offending declaration.

andre

syscrusher’s picture

This patch works for me, and is in fact almost identical to my suggested change. +1, and thanks for moving the commit process one step further along.

Scott

Dries’s picture

Committed to HEAD and DRUPAL-4-6. Thanks for the round-up.

Steven’s picture

This patch was never tested on IE6 windows! It completely breaks the node admin forms.

I suggest re-adding it with:
* html .node-form fieldset { display: inline; }

This will make it kick in in IE only, and is not a CSS parser hack. IE simply thinks there is something above <html>.

Steven’s picture

This issue was fixed not long ago. Note: we generally avoid CSS hacks in Drupal, but this particular IE escape still validates, has no risk of kicking in in newer browsers, and is required to make the fieldsets work in IE.

Anonymous’s picture

Bèr Kessels’s picture

Version: » 4.6.0

this issue is not fixed. It still exists in 4. 6. Or maybe it re-appeared in 4.6?

Anyway, http://drupal.org/node/26311 fixes it for good!