Make WordPress Core

Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#23176 closed defect (bug) (fixed)

Inserting media with multiple newlines in caption breaks HTML

Reported by: jonieske Owned by: azaozz
Priority: normal Milestone: 3.5.1
Component: Media Version: 3.5
Severity: minor Keywords: has-patch
Cc: Focuses:

Description

Steps to reproduce:

  1. Open add media dialog in editor to insert image
  2. Select image, enter caption with multiple newlines, eg:

"one
two
three"

  1. Leave alt text field empty
  2. Insert image into post
  3. Save/Update

As a result, HTML code breaks and image isn't displayed. This happens because caption is inserted to alt attribute in case it's empty, and newlines break the markup. Toggling between text and visual modes before initial post save fixes the code though.

Proposed fix:
Remove newlines from content that is automatically inserted to alt attribute.

Attachments (2)

23176.diff (477 bytes ) - added by kovshenin 14 years ago.
Replace newlines with spaces before sending to the editor
23176.2.diff (474 bytes ) - added by kovshenin 14 years ago.
Replace multiple new lines with one space.

Download all attachments as: .zip

Change History (8)

#1 @kovshenin
14 years ago

  • Cc kovshenin added
  • Keywords needs-patch added

I can reproduce this against trunk. Here's the HTML code that gets generated when inserting the image with a multi-line caption and no alt tag: http://cl.ly/image/3c0d253C3O3a

@kovshenin
14 years ago

Replace newlines with spaces before sending to the editor

#2 follow-up: @SergeyBiryukov
14 years ago

  • Keywords has-patch added; needs-patch removed
  • Milestone Awaiting Review3.5.1

Confirmed. Appears to be a regression. In 3.4.2, an empty alt attribute wasn't populated with caption.

Version 0, edited 14 years ago by SergeyBiryukov (next)

#3 in reply to: ↑ 2 ; follow-up: @azaozz
14 years ago

Replying to SergeyBiryukov:

Confirmed too. Perhaps the regex should be:

props.alt.replace( /[\r\n]+/g, ' ' );

so we replace multiple new lines with one space.

#4 in reply to: ↑ 3 @kovshenin
14 years ago

Replying to azaozz: sounds fair :)

@kovshenin
14 years ago

Replace multiple new lines with one space.

#5 @azaozz
14 years ago

  • Owner set to azaozz
  • Resolutionfixed
  • Status newclosed

In 23298:

Media: when copying from "caption" (textarea) to "alt" (text input) also remove line breaks, props kovshenin, fixes #23176 for trunk

#6 @azaozz
14 years ago

In 23299:

Media: when copying from "caption" (textarea) to "alt" (text input) also remove line breaks, props kovshenin, fixes #23176 for 3.5

Note: See TracTickets for help on using tickets.