A link looks the same to a visitor however it is built. To a crawler it is not the same. Google says that, generally, it can only crawl a link if it is an <a> element (an anchor) with an href attribute, the part that holds the destination address.
A button or box that sends people somewhere using a script, with no real address written in the page, may work perfectly in a browser yet give Google nothing it can reliably follow. This guide shows you how to check your own pages.