diff options
author | Ambrose Li <ambrose.li@gmail.com> | 2020-08-25 03:48:09 +0000 |
---|---|---|
committer | Ambrose Li <ambrose.li@gmail.com> | 2020-08-25 03:48:09 +0000 |
commit | 48c9ec565d0a8e147adb61eb79777812688bfbaa (patch) | |
tree | d249686b321e535348c1426eddfa10b610ef5858 /etc.c | |
parent | Update ChangeLog (diff) | |
download | w3m-48c9ec565d0a8e147adb61eb79777812688bfbaa.tar.gz w3m-48c9ec565d0a8e147adb61eb79777812688bfbaa.zip |
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.
Diffstat (limited to 'etc.c')
-rw-r--r-- | etc.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -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; } |