RFR: JDK-8314731 : Add support for the alt attribute in the image type input HTML tag
Andrey Turbanov
aturbanov at openjdk.org
Wed Aug 30 09:18:13 UTC 2023
On Thu, 17 Aug 2023 00:16:07 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_oracle_logo_50x50.jpg" alt="Logo Oracle JPG">
> <p>
> <input type=image name=point src...
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);
Suggestion:
button = icon.getImageLoadStatus() == MediaTracker.COMPLETE ? new JButton(icon) : new JButton(altAtt);
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15319#discussion_r1309958050
More information about the client-libs-dev
mailing list