diff --git a/400_xowa/src/gplx/xowa/parsers/lnkis/Xop_lnki_wkr.java b/400_xowa/src/gplx/xowa/parsers/lnkis/Xop_lnki_wkr.java
index 7c71ab824..f0c3a12d9 100644
--- a/400_xowa/src/gplx/xowa/parsers/lnkis/Xop_lnki_wkr.java
+++ b/400_xowa/src/gplx/xowa/parsers/lnkis/Xop_lnki_wkr.java
@@ -100,6 +100,16 @@ public class Xop_lnki_wkr implements Xop_ctx_wkr, Xop_arg_wkr {
if (end > bgn && Bry_.Eq(src, bgn, end, Xop_lnki_arg_parser.Bry_target))
arg_tid = Xop_lnki_arg_parser.Tid_target;
}
+
+ // if just "class" or "alt", treat as caption; EX:[[A|alt]] -> caption=alt x> caption=A ISSUE#:303 DATE:2018-12-16
+ switch (arg_tid) {
+ case Xop_lnki_arg_parser.Tid_class:
+ case Xop_lnki_arg_parser.Tid_alt:
+ if (!arg.KeyTkn_exists()){
+ arg_tid = Xop_lnki_arg_parser.Tid_caption;
+ }
+ break;
+ }
switch (arg_tid) {
case Xop_lnki_arg_parser.Tid_none: lnki.Align_h_(Xop_lnki_type.Id_none); break;
case Xop_lnki_arg_parser.Tid_border: lnki.Border_(Bool_.Y_byte); break;
diff --git a/400_xowa/src/gplx/xowa/parsers/lnkis/Xop_lnki_wkr__basic_tst.java b/400_xowa/src/gplx/xowa/parsers/lnkis/Xop_lnki_wkr__basic_tst.java
index 718b615a6..f2e914d2b 100644
--- a/400_xowa/src/gplx/xowa/parsers/lnkis/Xop_lnki_wkr__basic_tst.java
+++ b/400_xowa/src/gplx/xowa/parsers/lnkis/Xop_lnki_wkr__basic_tst.java
@@ -312,4 +312,9 @@ public class Xop_lnki_wkr__basic_tst {
fxt.Test_parse_page_all_str("[[Src]]" , "Src"); // show [[Src]] as visited since it exists in history
fxt.Test_parse_page_all_str("[[Other]]" , "Other"); // show other pages as not visited
}
+ @Test public void Caption__outlier() {
+ fxt.Test_parse_page_all_str("[[A|class]]", "class");
+ fxt.Test_parse_page_all_str("[[A|alt]]", "alt");
+ fxt.Test_parse_page_all_str("[[A|alt|a|b]]", "alt|a|b");
+ }
}