Core: Use aria-describedby for non-label elements

Fixes #900
Closes #1083