Hola Sergi.
El primer error (relativo a opacity) está muy claro.
Esa propiedad no existe en CSS 2.1 Es una propiedad de las propuestas para CSS 3, que de momento es eso, una propuesta.
2 posibles soluciones:
--> o la retiras de tu hoja de estilo o
--> Validas bajo css 3 y no con css 2.1
Pero si vas a validar también la accesibilidad, entonces no tendrás otra que sacar opacity de tu css.
Sobre el segundo bloque, creo que me explicaré mejor ( lo entenderás también mejor) con un ejemplo:
Tengamos un contenedor con fondo negro (#000) y dentro de él otra caja con el fondo formado por una imagen de tonos muy claros y el color de texto negro (o muy oscuro, #444)
En ese caso te marcará el error del segundo bloque.
Pero si en este mismo ejemplo, al div interior (el que tiene de fondo la imagen) le añades a sus propiedades del fondo un color (background: #fff url(tu_ruta.jpg)...;} el error desaparece.
Por qué. Porque entre el color del texto oscuro y el fondo del primer contenedor (de fondo negro) hay un elemento que el validador sí puede valorar (un fondo blanco) como apropiado para que el texto resalte.
¿Me expliqué?
Un saludo