[SegúnYo]
Porque así como esta estructurado el código ¿en base al alto de qué tomará un 15%? en todo caso sería del alto del body, pero el body que alto tiene? tal parece que es el alto del contenido, veamos este ejemplo, si hay un div que lo contiene y este sí tiene un alto definido si funciona poner un alto en porcentaje.
https://jsfiddle.net/twzcfqee/1/
[/SegúnYo]
Antes eso de definir un alto al 100% o 50% de la pantalla se hacia con jquery y el
vh vino a salvar muchas vidas!!
Compatibilidad:
http://caniuse.com/#feat=viewport-units
Saludos!!!