Instead of using a Walker in this instance you can use the items_wrap
parameter of wp_nav_menu.
$args = array(
'container' => 'nav',
'container_class' => 'c-nav c-nav--vertical c-nav--collapsible',
'menu_class' => 'c-nav__collapser',
'theme_location' => 'secondary',
'items_wrap' => menu_wrapper()
);
wp_nav_menu($args);
In the called function you can use the arguments for %1$s
(id), %2$s
(class), and %3$s
(all the list items).
function menu_wrapper() {
$wrap = '<input type="checkbox" id="responsive-nav-toggle" />'
. '<label class="c-nav__collapsible-label" for="responsive-nav-toggle">'
. 'Explore this section… <i class="c-icon c-icon-down-open"></i>'
. '</label>'
. '<ul id="%1$s" class="%2$s">'
. '%3$s'
. '</ul>';
return $wrap;
}