WordPress natively allows us to wrap comments in <div>’s or <li>’s but not HTML5 <article> elements. If you want to do this, add an ‘end-callback’ param to the wp_list_comments function call and set ‘article’ as the style (in comments.php):
wp_list_comments(array('callback' => 'twentyten_comment',
'style' => 'article',
'end-callback' => 'twentyten_comment_end'));
…then in functions.php, add the callback function:
if(!function_exists('twentyten_comment_end')) :
/**
* Allow HTML5 <article> (or anything else) for comment container.
*/
function twentyten_comment_end($comment, $args, $depth) {
switch($args['style']) {
case 'ol':
case 'ul':
case '':
echo "</li>\n";
break;
default:
echo '</' . $args['style'] . ">\n";
}
}
endif;