Skip to content

Commit 1f6a882

Browse files
authored
feat: revert the spine/toc nav order check to a WARNING (#1056)
* feat: revert the spine/toc nav order check to a WARNING As agreed on the 2019-07-11 EPUB CG call: https://www.w3.org/2019/07/11-epub3cg-minutes.html - changes the behavior introduced in #999 - adds an INFO message about NAV_011 being subject to change Fixes #1036
1 parent ead7480 commit 1f6a882

File tree

5 files changed

+21
-5
lines changed

5 files changed

+21
-5
lines changed

src/main/java/com/adobe/epubcheck/messages/DefaultSeverities.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ private void initialize()
3434
{
3535
return;
3636
}
37+
// Info
38+
severities.put(MessageId.INF_001, Severity.INFO);
3739

3840
// Accessibility
3941
severities.put(MessageId.ACC_001, Severity.USAGE);
@@ -154,7 +156,7 @@ private void initialize()
154156
severities.put(MessageId.NAV_008, Severity.USAGE);
155157
severities.put(MessageId.NAV_009, Severity.ERROR);
156158
severities.put(MessageId.NAV_010, Severity.ERROR);
157-
severities.put(MessageId.NAV_011, Severity.ERROR);
159+
severities.put(MessageId.NAV_011, Severity.WARNING);
158160

159161
// NCX
160162
severities.put(MessageId.NCX_001, Severity.ERROR);

src/main/java/com/adobe/epubcheck/messages/MessageId.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828

2929
public enum MessageId implements Comparable<MessageId>
3030
{
31+
// General info messages
32+
INF_001("INF-001"),
33+
3134
// Messages relating to accessibility
3235
ACC_001("ACC-001"),
3336
ACC_002("ACC-002"),

src/main/java/com/adobe/epubcheck/opf/XRefChecker.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -548,6 +548,8 @@ private void checkReadingOrder(Queue<Reference> references, int lastSpinePositio
548548
report.message(MessageId.NAV_011,
549549
EPUBLocation.create(ref.source, ref.lineNumber, ref.columnNumber),
550550
(ref.type == Type.NAV_TOC_LINK) ? "toc" : "page-list", ref.value, orderContext);
551+
report.message(MessageId.INF_001,
552+
EPUBLocation.create(ref.source, ref.lineNumber, ref.columnNumber), "ERROR", "https://github.com/w3c/publ-epub-revision/issues/1283");
551553
lastSpinePosition = targetSpinePosition;
552554
lastAnchorPosition = -1;
553555
}
@@ -570,6 +572,8 @@ private void checkReadingOrder(Queue<Reference> references, int lastSpinePositio
570572
report.message(MessageId.NAV_011,
571573
EPUBLocation.create(ref.source, ref.lineNumber, ref.columnNumber),
572574
(ref.type == Type.NAV_TOC_LINK) ? "toc" : "page-list", ref.value, orderContext);
575+
report.message(MessageId.INF_001,
576+
EPUBLocation.create(ref.source, ref.lineNumber, ref.columnNumber), "ERROR", "https://github.com/w3c/publ-epub-revision/issues/1283");
573577
}
574578
lastAnchorPosition = targetAnchorPosition;
575579
}

src/main/resources/com/adobe/epubcheck/messages/MessageBundle.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# This is the default MessageBundle.properties file
22

3+
#Info
4+
INF_001=The previous rule is under review and may change to an '%1$s' in a future release. See the discussion at %2$s
5+
36
#Accessibility
47
ACC_001='img' or 'area' HTML element has no 'alt' attribute.
58
ACC_002='input' HTML element is not referenced by a corresponding label element.

src/test/java/com/adobe/epubcheck/api/Epub30CheckExpandedTest.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -213,15 +213,17 @@ public void testValidateNav_TocInReadingOrder()
213213
public void testValidateNav_TocWrongOrderInSpine()
214214
{
215215
// test that toc nav links MUST be in spine order
216-
expectedErrors.add(MessageId.NAV_011);
216+
expectedWarnings.add(MessageId.NAV_011);
217+
expectedInfos.add(MessageId.INF_001);
217218
testValidateDocument("invalid/nav-toc-unordered-spine");
218219
}
219220

220221
@Test
221222
public void testValidateNav_TocWrongOrderOfFragments()
222223
{
223224
// test that toc nav links MUST be in document order
224-
expectedErrors.addAll(Collections.nCopies(2, MessageId.NAV_011));
225+
expectedWarnings.addAll(Collections.nCopies(2, MessageId.NAV_011));
226+
expectedInfos.add(MessageId.INF_001);
225227
testValidateDocument("invalid/nav-toc-unordered-fragments");
226228
}
227229

@@ -236,15 +238,17 @@ public void testValidateNav_PageListInReadingOrder()
236238
public void testValidateNav_PageListWrongOrderInSpine()
237239
{
238240
// test that page-list nav links MUST be in spine order
239-
expectedErrors.add(MessageId.NAV_011);
241+
expectedWarnings.add(MessageId.NAV_011);
242+
expectedInfos.add(MessageId.INF_001);
240243
testValidateDocument("invalid/nav-page-list-unordered-spine");
241244
}
242245

243246
@Test
244247
public void testValidateNav_PageListWrongOrderOfFragments()
245248
{
246249
// test that page-list nav links MUST be in document order
247-
expectedErrors.add(MessageId.NAV_011);
250+
expectedWarnings.add(MessageId.NAV_011);
251+
expectedInfos.add(MessageId.INF_001);
248252
testValidateDocument("invalid/nav-page-list-unordered-fragments");
249253
}
250254

0 commit comments

Comments
 (0)