RFR: JDK-8314731 : Add support for the alt attribute in the image type input HTML tag [v2]
Alexey Ivanov
aivanov at openjdk.org
Fri Sep 29 13:15:32 UTC 2023
On Wed, 30 Aug 2023 14:20:41 GMT, ScientificWare <duke at openjdk.org> wrote:
>> This is referenced in Java Bug Database as
>> - [JDK-8314731 : Adds support for the alt attribute in the image type input HTML tag.](https://bugs.java.com/bugdatabase/view_bug?bug_id=8314731)
>>
>> This is tracked in JBS as
>> - [JDK-8314731 : Add support for the alt attribute in the image type input HTML tag](https://bugs.openjdk.java.net/browse/JDK-8314731)
>>
>> According [HTML 3.2 specification](https://www.w3.org/TR/2018/SPSD-html32-20180315/#input)
>>
>> `alt` is not an attribute of the `input` element.
>>
>> According [HTML 4.01 specifications](https://www.w3.org/TR/html4/interact/forms.html#h-17.4) :
>>
>>> ... For accessibility reasons, authors should provide [alternate text](https://www.w3.org/TR/html4/struct/objects.html#alternate-text) for the image via the [alt](https://www.w3.org/TR/html4/struct/objects.html#adef-alt) attribute. ...
>>
>> This feature is not implemented in `FormView.java`.
>>
>> ⚠️ ~~This also affects the HTML 32 DTD~~
>>
>> 
>>
>> Left before the patch and right after the patch.
>>
>>
>> import java.awt.BorderLayout;
>> import java.awt.Dimension;
>> import javax.swing.JEditorPane;
>> import javax.swing.JFrame;
>> import javax.swing.JScrollPane;
>> import javax.swing.SwingUtilities;
>> import javax.swing.text.Document;
>> import javax.swing.text.html.HTMLEditorKit;
>> import javax.swing.text.html.StyleSheet;
>>
>> public class HTMLAddsSupportAltInputTag {
>> public static void main(String[] args) {
>> new HTMLAddsSupportAltInputTag();
>> }
>>
>> public HTMLAddsSupportAltInputTag() {
>> SwingUtilities.invokeLater(new Runnable(){
>> public void run(){
>> JEditorPane jEditorPane = new JEditorPane();
>> jEditorPane.setEditable(false);
>> JScrollPane scrollPane = new JScrollPane(jEditorPane);
>> HTMLEditorKit kit = new HTMLEditorKit();
>> jEditorPane.setEditorKit(kit);
>> StyleSheet styleSheet = kit.getStyleSheet();
>> styleSheet.addRule("""
>> body {
>> color: #000;
>> font-family:times;
>> margin: 4px;
>> }
>> """);
>> String htmlString = """
>> <html>
>> <body>
>> <input type=image name=point src="file:oracle_logo_50x50.jpg" alt="Logo Oracle JPG">
>> <p>
>> <input type=image name=point src="file:none_ora...
>
> ScientificWare has updated the pull request incrementally with one additional commit since the last revision:
>
> Update src/java.desktop/share/classes/javax/swing/text/html/FormView.java
>
> FormView.java : Remove a redundant space.
>
> Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
Can you write a regression test for it?
src/java.desktop/share/classes/javax/swing/text/html/FormView.java line 282:
> 280: @SuppressWarnings("deprecation")
> 281: URL srcURL = new URL(base, srcAtt);
> 282: ImageIcon icon = new ImageIcon(srcURL);
You should probably pass `altAtt` as the `description` parameter, yet I'm unsure if it's ever used in this context.
src/java.desktop/share/classes/javax/swing/text/html/FormView.java line 283:
> 281: URL srcURL = new URL(base, srcAtt);
> 282: ImageIcon icon = new ImageIcon(srcURL);
> 283: button = icon.getImageLoadStatus() == MediaTracker.COMPLETE ? new JButton(icon) : new JButton(altAtt);
Initially I thought the status could change, it can't.
Looks good to me.
src/java.desktop/share/classes/javax/swing/text/html/FormView.java line 285:
> 283: button = icon.getImageLoadStatus() == MediaTracker.COMPLETE ? new JButton(icon) : new JButton(altAtt);
> 284: } catch (MalformedURLException e) {
> 285: button = new JButton(srcAtt);
Suggestion:
button = new JButton(altAtt);
If `altAtt` is provided, it should be used to handle invalid `srcAtt` too.
-------------
Changes requested by aivanov (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/15319#pullrequestreview-1650659110
PR Review Comment: https://git.openjdk.org/jdk/pull/15319#discussion_r1341292119
PR Review Comment: https://git.openjdk.org/jdk/pull/15319#discussion_r1341310689
PR Review Comment: https://git.openjdk.org/jdk/pull/15319#discussion_r1341317037
More information about the client-libs-dev
mailing list