Opened 7 years ago

Closed 7 years ago

#17150 closed defect (patchwelcome)

[regression] RTL in TextBox in IE7 - text shows LTR, highlight shows on right

Reported by: Brian Arnold Owned by: Douglas Hays
Priority: undecided Milestone: 1.8.5
Component: Dijit - Form Version: 1.8.4
Keywords: Cc:
Blocked By: Blocking:

Description

This looks potentially related to #14433 but given that the change that introduced the regression is coming in from a commit related to #14850, it seems worth tracking in its own ticket.

I have a simple example that I'm attaching to this ticket that demonstrates this bug in 1.8.4, but it's also in 1.9.0 as well. There is the following CSS in dijit/themes/dijit.css:

.dj_ie7 .dijitInputContainer {
        float: left !important; /* needed by IE to squeeze the INPUT in */
        clear: left;
        display: inline-block !important; /* to fix wrong text alignment in rtl text box */
}

That first line, the float: left !important, seems to be introducing this problem in IE7. It's not clear why that's absolutely necessary. It looks like r28279 introduced the float, but not for IE7, and then in r28770 it was adjusted to be specifically only IE7.

In removing the float, the alignment seems completely fine. It's not entirely clear why that needs to be there. Thoughts? Something that we can look into removing?

Attachments (1)

textbox-rtl-ie7.html (1.1 KB) - added by Brian Arnold 7 years ago.
Demo of LTR text inside of a TextBox? in an RTL page

Download all attachments as: .zip

Change History (5)

Changed 7 years ago by Brian Arnold

Attachment: textbox-rtl-ie7.html added

Demo of LTR text inside of a TextBox? in an RTL page

comment:1 Changed 7 years ago by Brian Arnold

Summary: [regression] RTL in TextBox in IE7[regression] RTL in TextBox in IE7 - text shows LTR, highlight shows on right

comment:2 Changed 7 years ago by bill

Owner: changed from bill to Douglas Hays
Status: newassigned

We're not supporting IE6 & IE7 anymore but I suppose if it's just removing a float: left we could do it. But the float:left used to be necessary and probably still is.

comment:3 Changed 7 years ago by bill

Milestone: tbd1.8.5

PS: what do you mean by "the highlight"?

comment:4 Changed 7 years ago by Douglas Hays

Resolution: patchwelcome
Status: assignedclosed

The highlight problem is when you select the text on the left of the INPUT, then the reverse background selection occurs on the right. This is obviously an IE7 rendering problem. The float:left is needed to make the ValidationTextBox? size the same as a plain TextBox?. You can run dijit/tests/form/TextBox_sizes.html to see the effect after you munge the float value. While I'd like to see a patch that allows all the automated tests to pass (dijit/tests/form/runTests.html) on IE6/7/8/9/10, it seems like overkill for an IE7 specific RTL problem when the proposed fix breaks widget sizing in both LTR and RTL mode, and IE7 support has dropped off the radar.

Note: See TracTickets for help on using tickets.