In HTML5 anchors should not be closed when encountering divs, for example, but should be closed when encountering buttons, for example. Many sites that use HTML5-style anchors end up having links displayed with zero-length link texts. The proposed patch correct this behaviour by detecting whether the document is HTML5, then suppressing the close-anchor action in CLOSE_A if it's an HTML5 document. A new macro handles the HTML5-specific cases where anchors are not already always closed.

This also fixes a bug in the tokenizing FSM in etc.c that prevented the !doctype element from being recognized; the fix is necessary because HTML5 detection depends on checking the !doctype element.
This commit is contained in:
Ambrose Li
2020-08-24 23:48:09 -04:00
parent b65f7b243d
commit 48c9ec565d
10 changed files with 72 additions and 6 deletions

5
etc.c
View File

@@ -727,6 +727,11 @@ next_status(char c, int *status)
case '>':
*status = R_ST_NORMAL;
break;
case 'D':
case 'd':
/* could be a !doctype */
*status = R_ST_TAG;
break;
default:
*status = R_ST_IRRTAG;
}