Closed Bug 1343567 Opened 8 years ago Closed 5 years ago

Multiple spaces overflowing textarea and not line breaking

Categories

(Core :: Layout: Text and Fonts, defect, P3)

51 Branch
Unspecified
All
defect

Tracking

()

RESOLVED INVALID
Tracking Status
firefox-esr45 --- unaffected
firefox52 - wontfix
firefox-esr52 - wontfix
firefox-esr60 --- wontfix
firefox53 - ---
firefox54 - ---
firefox55 - ---
firefox65 --- wontfix
firefox66 --- wontfix
firefox67 --- wontfix
firefox68 --- affected

People

(Reporter: mitch.wilson, Unassigned)

References

Details

(Keywords: regression, testcase)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36

Steps to reproduce:

Steps to Reproduce in Firefox 51.0.1:
1. Add an HTML textarea element to a Web page with CSS prevent horizontal scrolling. Also add the CSS, word-break: break-all, to the textarea.
2. Load the HTML page in Safari on iOS 9.3.5 or 10.2 or 10.3.
3. Enter text into the textarea until it's long enough to almost line break. Leave the text a few characters short of line breaking.
4. Type spaces at the end of the text to trigger a line break. 
5. Note that the spaces do not trigger a line break, but instead extend out to the right forever and never line break.



Actual results:

The textarea never line breaks within multiple spaces. The text string just gets longer, overflowing the textarea, even when overflow is not allowed via CSS. The user entering the text does not understand what is happening. Sometimes users enter multiple spaces and we want to allow that. This is used in tests for students. We cannot put the burden our young students, especially when this appears to be a bug and works everywhere else. Thank you!


Expected results:

I expect word-break: break-all to trigger line breaks within multiple space sequences. Multiple spaces should be a "soft break opportunity", see https://www.w3.org/TR/css-text-3/#soft-wrap-opportunity. The rules for line breaking on characters is specified in http://www.unicode.org/reports/tr14/, see "Table 1. Line Breaking Classes" and "SP	Space	SPACE	Enable indirect line breaks".
Could you provide a testcase, please.
Component: Untriaged → Layout: Text
Flags: needinfo?(mitch.wilson)
Keywords: testcase-wanted
OS: Unspecified → Mac OS X
Product: Firefox → Core
Version: unspecified → 51 Branch
Test case here:

http://codepen.io/mitchwilson/pen/pexyyw

Start adding spaces at the end of the text. After four spaces it should text wrap, but it does not. You can type a hundred spaces and it will never wrap the text in the textarea to the next line.
Flags: needinfo?(mitch.wilson)
Reg range:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=d94e8ab0f01ef09739bbe670f5efe14abb567952&tochange=4959bbdb0d99480d556b3738a1bdfb22b371c485

Jason Woofenden — Bug 1008019 - Allow whitespace to "hang" at soft-wrap boundaries when white-space:pre-wrap is in effect. r=jfkthame

Jonathan, could you check this regression when you get some time, please.
Blocks: 1008019
Status: UNCONFIRMED → NEW
Has Regression Range: --- → yes
Has STR: --- → yes
Ever confirmed: true
Flags: needinfo?(jfkthame)
I'm not sure this is incorrect. In the testcase at http://codepen.io/mitchwilson/pen/pexyyw, I can type any number of spaces at the end of the textarea, and they don't wrap....but I see that same behavior in Safari and Chrome, too.

My understanding of the CSS Text spec is that this is the expected result; see the White Space Processing section, and in particular the "Trimming and Positioning" rules.[1]

(The way to achieve the kind of wrapping the reporter is seeking here, IIUC, would be to use the overflow-wrap:break-spaces property described in the current Editor's Draft.[2] However, no current browser appears to support that, AFAICT.)

[1] https://drafts.csswg.org/css-text-3/#white-space-phase-2
[2] https://drafts.csswg.org/css-text-3/#valdef-overflow-wrap-break-spaces
Flags: needinfo?(jfkthame)
I've filed bug 1351432 about supporting overflow-wrap:break-spaces, which would provide a mechanism to control this behavior.
Per discussion in the Platform triage, no need to track this - adjusting tracking flags accordingly.
Priority: -- → P3

Hi Jonathan, should we mark this bug as stalled or wontfix?

Flags: needinfo?(jfkthame)

I think this should be closed as invalid; according to comment 4 the behavior is correct per spec and interoperable with other browsers.

The reporter's use case is a reasonable one, but the proper fix is to implement bug 1351432, not to change existing behavior here.

Status: NEW → RESOLVED
Closed: 5 years ago
Flags: needinfo?(jfkthame)
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.