If you don’t mind using user scripts, there is one that will hide the meaning during lessons at first.
You can also customize that script to only hide the meaning for kanji (and not vocab) if you prefer. For example, here’s my edited version that only hides for vocab. You can probably replace vocabulary
everywhere with kanji
to get that effect.
Code
// ==UserScript==
// @name Wanikani Lesson Spoiler Removal
// @namespace Mempo
// @description Hides the meaning below kanji and vocab on lesson pages
// @include https://www.wanikani.com/lesson/session
// @version 4
// @run-at document-end
// @grant none
// ==/UserScript==
(function() {
'use strict';
//HOVER EFFECT
var css = '#main-info #meaning {visibility:visible;} #main-info.vocabulary #meaning {visibility:hidden;} #main-info.vocabulary:hover #meaning {visibility:visible !important;}';
$('head').append('<style type="text/css">' + css + '</style>');
//CLICKING
$('body').click(function(e) {
$('#main-info #meaning').css('visibility', '');
if ($('#supplement-nav ul li.active').text() === 'meaning' || $('#supplement-nav ul li.active').text() === 'Meaning') {
$('#main-info.vocabulary #meaning').css('visibility', 'visible');
} else {
$('#main-info.vocabulary #meaning').css('visibility', 'hidden');
}
});
})();