hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit c8257f8b726478ca70dc8984cdcc17b31e4bdc0c
parent 0abdeeef6740a3cbba0db95374853d040f2022b8
Author: Daniel Karlsson <danielk@fliffr.com>
Date:   Fri,  4 Aug 2017 17:08:27 +0200

Render task list item inside label for correct accessibility

Fixes #3303

Diffstat:
Mhelpers/content_renderer.go | 6++++--
Mhelpers/content_renderer_test.go | 8++++----
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/helpers/content_renderer.go b/helpers/content_renderer.go
@@ -50,10 +50,12 @@ func (r *HugoHTMLRenderer) ListItem(out *bytes.Buffer, text []byte, flags int) {
 
 	switch {
 	case bytes.HasPrefix(text, []byte("[ ] ")):
-		text = append([]byte(`<input type="checkbox" disabled class="task-list-item">`), text[3:]...)
+		text = append([]byte(`<label><input type="checkbox" disabled class="task-list-item">`), text[3:]...)
+		text = append(text, []byte(`</label>`)...)
 
 	case bytes.HasPrefix(text, []byte("[x] ")) || bytes.HasPrefix(text, []byte("[X] ")):
-		text = append([]byte(`<input type="checkbox" checked disabled class="task-list-item">`), text[3:]...)
+		text = append([]byte(`<label><input type="checkbox" checked disabled class="task-list-item">`), text[3:]...)
+		text = append(text, []byte(`</label>`)...)
 	}
 
 	r.Renderer.ListItem(out, text, flags)
diff --git a/helpers/content_renderer_test.go b/helpers/content_renderer_test.go
@@ -108,9 +108,9 @@ END
 `, true, `<p>TODO:</p>
 
 <ul class="task-list">
-<li><input type="checkbox" checked disabled class="task-list-item"> On1</li>
-<li><input type="checkbox" checked disabled class="task-list-item"> On2</li>
-<li><input type="checkbox" disabled class="task-list-item"> Off</li>
+<li><label><input type="checkbox" checked disabled class="task-list-item"> On1</label></li>
+<li><label><input type="checkbox" checked disabled class="task-list-item"> On2</label></li>
+<li><label><input type="checkbox" disabled class="task-list-item"> Off</label></li>
 </ul>
 
 <p>END</p>
@@ -122,7 +122,7 @@ END
 		{`* [ ] Off
 
 END`, true, `<ul class="task-list">
-<li><input type="checkbox" disabled class="task-list-item"> Off</li>
+<li><label><input type="checkbox" disabled class="task-list-item"> Off</label></li>
 </ul>
 
 <p>END</p>