From: Mark D. Smith on
Hi

I have googled but not found a solution to wordwrap in a textarea using
firefox/netscape.

is there a style sheet solution or am i stuck with not being able to force
wrapping in a textarea

Mark

From: VK on

Mark D. Smith wrote:
> Hi
>
> I have googled but not found a solution to wordwrap in a textarea using
> firefox/netscape.
>
> is there a style sheet solution or am i stuck with not being able to force
> wrapping in a textarea

Textarea has wrap attribute set to "logical" ("soft" by IE) by default,
so strings will be wrapped after reaching the opposite border, but only
manually typed Enter's will be submitted. So your task is to prevent
wrap, not to enable it ;-)

You can partially emulate wrap="off" by setting textarea style to:
white-space: nowrap;

But overall it is more standard and reliable to set "wrap" attribute:
"physical" - all visual line breaks are submitted as newlines
"logical" - you have visual line breaks but only "hardtyped" breaks are
submitted
"off" - rather clear I guess :-)

P.S. This attribute is missing in W3C DTD's by mistake (one didn't
understand the physical meaning of "wrap" and thought it to be
replaceable by styling). Nevertheless it is supported by all ever
existed browsers.

P.P.S. Modern browsers also support an alternate attribute set from
Microsoft: "soft", "hard", "off". These values have the same meaning
and effect, but the original Netscape set "logical", "physical" and
"off" has better cross-browser support, especially for legacy platforms.

From: Jukka K. Korpela on
VK wrote:

> Textarea has wrap attribute set to "logical" ("soft" by IE) by default,

The textarea element has no wrap attribute according to the HTML
specifications. Browsers generally recognize such an attribute, but
information about "logical" as a value is outdated. The currently
recognized values are "soft", "hard", and "off".

There is of course no defined default for an attribute that is not
defined in the specifications. Most browsers actually behave as if
wrap="soft" had been given, but there is some variation in what this
means. This is not surprising, since there is no published specification
of what it means. Actually, the specifications more or less say that no
wrapping take place, since the idea is that the user can type
arbitrarily long lines. See
http://www.cs.tut.fi/~jkorpela/forms/textarea.html
for some explanations.

> so strings will be wrapped after reaching the opposite border, but only
> manually typed Enter's will be submitted.

More or less so, but there's a difference between IE and Firefox: if
there is a "word" (sequence of characters not containing whitespace
characters) that is longer than the textarea width, IE breaks the "word"
visually, whereas Firefox introduces horizontal scrolling. I don't think
there's a way to change the Firefox behavior (which corresponds to the
specifications better than the IE behavior).

To see what this means, test this on your browsers:

<textarea rows=3 cols=12>
supercalifragilisticexpialidocious
</textarea>

> So your task is to prevent
> wrap, not to enable it ;-)

Forcing either of them is impossible. The crucial question is why the OP
wants to force this or that behavior in this issue.

> You can partially emulate wrap="off" by setting textarea style to:
> white-space: nowrap;

Maybe it should do that, but it doesn't, even if you add overflow: auto
or overflow: scroll. That's at least the result of my testing on
Firefox. Please specify the URL of your test document and the version(s)
of Firefox you tested, if you have different _observations_.

> But overall it is more standard and reliable to set "wrap" attribute:
> "physical" - all visual line breaks are submitted as newlines
> "logical" - you have visual line breaks but only "hardtyped" breaks are
> submitted
> "off" - rather clear I guess :-)

I don't think "physical" and "logical" have been supported for a long
time. At least Firefox 1.5 ignores them.

> P.S. This attribute is missing in W3C DTD's by mistake

Please don't try to rewrite history. It was no mistake. Read the actual
specifications to learn how textarea was meant to work. Wrapping was
later invented by browser vendors and implemented inconsistently and
confusingly, as it still is.

> Nevertheless it is supported by all ever
> existed browsers.

Any statements about "all browsers" tend to tell about the limited
experience of the person who makes the statement rather than the reality
around us.

> the original Netscape set "logical", "physical" and
> "off" has better cross-browser support, especially for legacy platforms.

You didn't bother actually testing such matters, did you?
From: VK on

Jukka K. Korpela wrote:
> VK wrote:
>
> > Textarea has wrap attribute set to "logical" ("soft" by IE) by default,

That was my mistake: the set is "physical", *** virtual *** and "off".
I mistyped it because I must was thinking of total absence of logic in
this situation :-)

> The textarea element has no wrap attribute according to the HTML
> specifications. Browsers generally recognize such an attribute, but
> information about "logical" as a value is outdated. The currently
> recognized values are "soft", "hard", and "off".

Sorry again for "logical" instead of proper "virtual". HTML perfectly
has wrap attribute since Netscape 3 at least. It is not presented
though in W3C DTD's which is a serious problem of W3C but not of the
web community as such.

> There is of course no defined default for an attribute that is not
> defined in the specifications.

Of course you checked it, did you? For 90% of current UA's it is set to
"soft" by default, the rest is hiding the same setting from sensitive
eyes of W3C :-)

> Most browsers actually behave as if
> wrap="soft" had been given, but there is some variation in what this
> means. This is not surprising, since there is no published specification
> of what it means. Actually, the specifications more or less say that no
> wrapping take place, since the idea is that the user can type
> arbitrarily long lines. See
> http://www.cs.tut.fi/~jkorpela/forms/textarea.html
> for some explanations.
>
> > so strings will be wrapped after reaching the opposite border, but only
> > manually typed Enter's will be submitted.
>
> More or less so, but there's a difference between IE and Firefox: if
> there is a "word" (sequence of characters not containing whitespace
> characters) that is longer than the textarea width, IE breaks the "word"
> visually, whereas Firefox introduces horizontal scrolling. I don't think
> there's a way to change the Firefox behavior (which corresponds to the
> specifications better than the IE behavior).
>
> To see what this means, test this on your browsers:
>
> <textarea rows=3 cols=12>
> supercalifragilisticexpialidocious
> </textarea>

You are repeating the same mistake as 7 years ago - wrap attribute
doesn't set a *representation mode* - though it affects on it directly.
wrap attribute governes submission process of teaxtarea data. You
really should read old Netscape specs and consult with experienced
server admins. ;-) It is currently broken on some browsers in the
submission part, though the representation reflection is still working.
And I see W3C to blame for that because for 7 years no one reasonnable
browser producer could drop this attribute. So even the "standards
followers" had to implement it:- but in kind of conspiracy situation,
bootlegging it on the backyard.

> > P.S. This attribute is missing in W3C DTD's by mistake
>
> Please don't try to rewrite history. It was no mistake. Read the actual
> specifications to learn how textarea was meant to work. Wrapping was
> later invented by browser vendors and implemented inconsistently and
> confusingly, as it still is.

I was using wrap attribute since Netscape 3.0 Gold and never stopped to
do it - with necessary discrepancies adjustments over time. And no
offence but in the year 1999 W3C's activity was rather out of intensive
public interest. It was more important to know and remember all new
features and bugs in NN and IE. But coming back to "rewrite history":-
"I don't like it so it never existed and never will exist" - is an
exact case of trying to rewrite the history. And the lesson W3C may get
out of it is that no one can ignore the reality - but reality can
easily ignore anyone.

> > Nevertheless it is supported by all ever
> > existed browsers.
>
> Any statements about "all browsers" tend to tell about the limited
> experience of the person who makes the statement rather than the reality
> around us.

Read about reality above.

> > the original Netscape set "logical", "physical" and
> > "off" has better cross-browser support, especially for legacy platforms.
>
> You didn't bother actually testing such matters, did you?

I'm not testing - I'm using. W3C could facilitate the usage greatly by
finally sticking to one of de-facto standards and requiring the same
from all players (of whom willing to listen W3C).

From: Jukka K. Korpela on
VK wrote:

> That was my mistake: the set is "physical", *** virtual *** and "off".

No it isn't. You are still in error.

> Sorry again for "logical" instead of proper "virtual".

Stop saying you're sorry and check the facts. Neither of those values
has any support worth mentioning. Using wrap="virtual" seems to work for
the same reason as wrap="Hello world" does: it is ignored.

> HTML perfectly
> has wrap attribute since Netscape 3 at least.

Smells like trolling.

>>To see what this means, test this on your browsers:
>>
>><textarea rows=3 cols=12>
>>supercalifragilisticexpialidocious
>></textarea>
>
> You are repeating the same mistake as 7 years ago

Do you mean that seven years ago you actually checked facts before
trying to give advice in public?

> - wrap attribute
> doesn't set a *representation mode*

Stop babbling and check the facts. What's so difficult in actually
looking at how browsers work?

>>> the original Netscape set "logical", "physical" and
>>>"off" has better cross-browser support, especially for legacy platforms.
>>
>>You didn't bother actually testing such matters, did you?
>
> I'm not testing - I'm using.

So when giving advice in future, will you be honest and precede your
advice with a statement that says that you describe what you have been
using, without actually checking the specifications _or_ actual browser
behavior in recent years?
 |  Next  |  Last
Pages: 1 2
Next: CSS and plain text