El elemento Safari <select> mobile muestra misteriosamente múltiples selects

Esta es una mala pregunta porque no puedo ofrecer ningún tipo de ejemplo reproducible. Sin embargo, no he encontrado ninguna reference al comportamiento que estoy viendo en ninguna parte, así que pensé que esta es mi mejor apuesta.

Tengo un trío de elementos <select> configurados como un mecanismo de selección de date. Hay algunos manejadores de events detrás de ellos para hacer cosas como actualizar la list de días en los que cambia el mes o el año, pero eso es todo. Los elementos mismos son totalmente simples:

 <select class="day requinetworking"> <option value="1">01</option> <option value="2">02</option> <option value="3">03</option> <option value="4">04</option> <option value="5">05</option> <option value="6">06</option> <option value="7">07</option> <option value="8">08</option> <option value="9">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> </select> 

(copyda directamente de las herramientas de desarrollador de Chrome). Así que esa es la selección del Day , y es la que me da un comportamiento extraño (a veces) en iOS (y solo iOS).

Cuando toco ese <select> directamente (el Day , eso es), no hay problema; funciona bien Sin embargo, cuando toco primero en la selección Month a su izquierda y luego llego al Day haciendo clic en el button Next en la window emergente Safari, escoja una interfaz de opción , entonces las cosas se ponen raras. Lo que sucede es que aparecen todos los texts de la opción, como de costumbre. Si "enrollo" la list hacia arriba o hacia abajo de una manera tal que la opción actualmente seleccionada no esté visible (así como desde el día 5 hasta el día 15 ) y luego click otra selección, y eso funciona en la medida en que el nuevo <option> input obtiene una marca de verificación, pero si vuelvo la list a la original, ¡todavía está marcada! Es posible repetir el process varias veces hasta el punto en que hay señales de control por todas partes.

Cuando hago clic en el button Done azul, solo se selecciona una input; notará que no hay un atributo "múltiple" en el elemento. El mismo HTML funciona bien desde luego en los browseres de escritorio y en Android; Curiosamente, hemos visto el mismo problema en Chrome en iOS.

Intenté deshabilitar experimentalmente los manejadores de events, pero eso no tiene efecto. He intentado hacer jsfiddle / jsbin ejemplos sin éxito. La página en la que aparece este código no es simple, pero no es tremendamente compleja; lo más interesante es que el marcado se genera de forma dinámica mediante un sistema de templates de JavaScript, pero todo funciona bien en todo tipo de cosas sin ninguna rareza comparable.

Como no veo los errores de la console y parece ser independiente de si manejo los events de "cambio" o no, y porque solo ocurre cuando llego al <select> de cierta manera, me inclino a pensar que esto es solo un error en la esquina del caso con el widget de bajo nivel utilizado por WebKit para elementos <select> (en iOS), y no un problema con mi código per se. Por supuesto, si hay una solución, estaría encantado de probarlo, pero ninguna de las alteraciones aleatorias que hice hasta ahora ha tenido algún efecto.

¿Alguien más ha visto esto?

Otro par de detalles: cuando está actuando de manera extraña, toca las opciones siempre actualiza correctamente el elemento en la página. A veces no hay un sonido de "clic", pero a veces hay. Cuando hago clic entre las opciones sin desplazar la list hacia arriba o hacia abajo, dentro del subset de opciones puedo ver que el widget comienza a funcionar correctamente nuevamente, pero las opciones no visibles pueden permanecer marcadas.