Use the text, but hide it with text-align:-999em; so that screen readers / braille readers / search engines don't ignore it. Display:none and visibility:hidden are obeyed by those UA's even though they shouldn't be if like a good little doobie you've set at LEAST media="screen" on your stylesheet <link>, but because some dirtbag "black hat" SEO scam artists fifteen or so years ago abused those for "content cloaking" to try and game search results, they are obeyed now by both even when it's not the correct media type. (grr...)
A label doesn't even make sense, input is not a user changeable value, if anything that would confuse things.
The title attribute could work, but actual text is just better.
... and honestly, aria roles are an idiotic dumbass POORLY SUPPORTED IF IMPLEMENTED AT ALL bandwidth wasting train wreck that seems to have been created for just two reasons:
1) To try and make up for most developers being too ignorant or misinformed to use semantic markup properly. Honestly, throwing more code at the markup isn't the answer. Mind you I hold the same opinion of most of the new tags in HTML 5, YMMV
2) to give the nutjobs who used to cream their panties over "microformats" their own little corner to spank it in.
The moment you see
<form action="#" method="post" role="form">
or
<a href="#" role="button">
You'll know exactly what I mean by pointless idiotic halfwitted ignorant dumbass bandwidth wasting redundancies. JUST like how HTML 5's SECTION, ARTICLE, ASIDE, NAV, HEADER, and MAIN are redundant to just using H1..H6, HR, CAPTION, and LEGEND properly!