Texto oculto accesible

El problema de usar display:none es que se oculta también para bots y screen-readers. El código más óptimo es:

.visually-hidden {
	display: inline-block;
	position: absolute;
	overflow: hidden;
	clip: rect(0 0 0 0);
	height: 1;
	width: 1;
	margin: -1;
	padding: 0;
	border: 0;
}