mediawiki-extensions-Visual.../modules/ve-mw/ui/widgets
Arlo Breault 94c4d619a7 Add a checkbox to use the image caption as the alt text for galleries
The need for something like this was anticipated in
I2bf43c7e83283f43e047229eb53c244918fcbb0c.

As of version 2.5.0 of Parsoid's output, if alternate text is missing
for an image but a caption is present and image isn't displaying the
caption (ie. it isn't a thumb or frame), then the text content of the
caption will be set as the alt attribute.  Parsoid will then drop the
alt attribute when serializing if it matches the caption text, since
it's unnecessary.

However, if the caption is modified and the alt text isn't, the alt will
be serialized.  This is likely to be unexpected to editor.  They may
have missed that the both the caption and alt are populated in VE and
only edited one place.

Since all of the above is happening only for images where the caption
isn't visible, it doesn't appear to be a much used feature since, at
least for inline images, the experience of caption editing was already
less than optimal.

However, because of a quirk in how galleries are rendered in Parsoid,
this affects gallery caption editing, which is visible and presumably
used more often.  See T268250 for a discussion on an improved gallery
structure.  But for now, gallery images are effectively inline and set
the alternate text, thus subject to the above.

Here we add a checkbox so that the default is to ignore the alt if it's
the same as the caption.  And only make use of it if it differed
originally or was explicitly unchecked to modify.

Bug: T311677
Change-Id: Idf297d8a98995971c5835b0cea56c3317a3626e2
2022-07-22 15:46:55 -04:00
..
ve.ui.MWAceEditorWidget.js Fix resize of MWAceEditorWidget when setting up 2022-03-18 22:30:54 +00:00
ve.ui.MWCategoryInputWidget.js eslint: Enable no-jquery/no-append-html 2021-12-16 02:04:11 +01:00
ve.ui.MWCategoryItemWidget.js Update and fix all @param config and @cfg documentation 2021-09-12 12:35:27 +00:00
ve.ui.MWCategoryPopupWidget.js Move var declarations inline 2022-03-01 17:50:24 +00:00
ve.ui.MWCategoryWidget.js Move var declarations inline 2022-03-01 17:50:24 +00:00
ve.ui.MWEditSummaryWidget.js Use boolean RegExp.test() instead of .match() where possible 2022-03-24 11:04:43 +01:00
ve.ui.MWEducationPopupWidget.js Move var declarations inline 2022-03-01 17:50:24 +00:00
ve.ui.MWExternalLinkAnnotationWidget.js Prefere ve.extendObject over $.extend 2021-11-15 21:30:19 +00:00
ve.ui.MWGalleryGroupWidget.js Prefere ve.extendObject over $.extend 2021-11-15 21:30:19 +00:00
ve.ui.MWGalleryItemWidget.js Add a checkbox to use the image caption as the alt text for galleries 2022-07-22 15:46:55 -04:00
ve.ui.MWInternalLinkAnnotationWidget.js Move var declarations inline 2022-03-01 17:50:24 +00:00
ve.ui.MWLazyMultilineTextInputWidget.js Update and fix all @param config and @cfg documentation 2021-09-12 12:35:27 +00:00
ve.ui.MWMediaInfoFieldWidget.js Use boolean RegExp.test() instead of .match() where possible 2022-03-24 11:04:43 +01:00
ve.ui.MWParameterCheckboxInputWidget.js Document some classes touched in the sidebar rewrite 2022-07-12 12:49:31 +02:00
ve.ui.MWPreTextInputWidget.js doc: Bump copyright year for 2020 2020-01-08 09:13:24 -08:00
ve.ui.MWTargetWidget.js Add 'vector-body' hack to TargetWidgets 2022-07-18 14:12:10 +01:00
ve.ui.MWTemplateTitleInputWidget.js Document some classes touched in the sidebar rewrite 2022-07-12 12:49:31 +02:00
ve.ui.MWTocWidget.js Move var declarations inline 2022-03-01 17:50:24 +00:00
ve.ui.MWTransclusionOutlineButtonWidget.js Document some classes touched in the sidebar rewrite 2022-07-12 12:49:31 +02:00
ve.ui.MWTransclusionOutlineControlsWidget.js Document some classes touched in the sidebar rewrite 2022-07-12 12:49:31 +02:00
ve.ui.MWTransclusionOutlineParameterSelectWidget.js Merge "Rename confusing "itemSet" to "active parameter"" 2022-07-20 10:05:01 +00:00
ve.ui.MWTransclusionOutlineParameterWidget.js Rename confusing "itemSet" to "active parameter" 2022-07-20 11:42:42 +02:00
ve.ui.MWTransclusionOutlinePartWidget.js Use generic "outline item selected" event for top-level parts 2022-07-19 11:05:32 +00:00
ve.ui.MWTransclusionOutlinePlaceholderWidget.js Document some classes touched in the sidebar rewrite 2022-07-12 12:49:31 +02:00
ve.ui.MWTransclusionOutlineTemplateWidget.js Merge "Use generic "outline item selected" event for top-level parts" 2022-07-20 10:07:22 +00:00
ve.ui.MWTransclusionOutlineToggleUnusedWidget.js Minor fixes to template dialog related code documentation 2022-07-12 20:10:02 +02:00
ve.ui.MWTransclusionOutlineWidget.js Merge "Use generic "outline item selected" event for top-level parts" 2022-07-20 10:07:22 +00:00
ve.ui.MWTransclusionOutlineWikitextWidget.js Document some classes touched in the sidebar rewrite 2022-07-12 12:49:31 +02:00