[wp-trac] [WordPress Trac] #40909: Focus in attachment custom fields is lost when updating the value.
WordPress Trac
noreply at wordpress.org
Fri Jun 2 12:24:57 UTC 2017
#40909: Focus in attachment custom fields is lost when updating the value.
--------------------------+-----------------------------
Reporter: lucymtc | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Media | Version: 4.7.5
Severity: normal | Keywords:
Focuses: |
--------------------------+-----------------------------
I ran into a bug related to attachment custom fields in the media modal as
well as the attachment edit screen.
It's an accessibility issue where the focus of the text inputs is lost
when their value is modified, needing to click twice to update their
value. Reproducible when having multiple custom fields.
This is caused by a re-render of the view used for this region, which is
`wp.media.view.AttachmentCompat`
In the initialize function the view re-renders when the model changes.
{{{
initialize: function() {
this.listenTo( this.model, 'change:compat', this.render );
}
}}}
Steps to reproduce:
- Create some custom attachment fields using the appropriated hooks
`attachment_fields_to_edit` and `attachment_fields_to_save`
- Open the Medial Modal through Add Media button and click on an image to
view details.
- Click on the one of the custom fields input and type any text.
- Then directly click on the next custom field input.
- Focus gets lost and needs to click again in the input in order to modify
the value.
I don't see the reason for the view needing to be re-rendered, removing
the listener fixes the issue.
If re-rendering is needed for a particular reason, a possible solution
would be to keep track of the last focused input and re-focus on re-
render.
The code was added in this commit https://github.com/WordPress/wordpress-
develop/commit/57b09463e67
--
Ticket URL: <https://core.trac.wordpress.org/ticket/40909>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list