Compatibilitatea unor aplicații web cu toate sistemele de operare și browserele utilizate este un obiectiv constant al producătorilor (dezvoltatorilor) de interfețe de lucru pentru utilizatori.
Limbajul de etichetare HTML 5 nu este suportat integral și identitc de fiecare browser existent astăzi. Unele atribute sunt identificate și asumate dar nu toate, ceea ce duce în unele cazuri la o funcționalitate incompletă pentru interfața aplicației web. Lucru deloc dorit și de neacceptat.
În acest context, de multe ori se dezvoltă de cod specific pentru browsere/sisteme de operare diferite în scopul asigurării funcționalității corecte integral pe toate tipurile de dispozitive utilizate.
Safari nu recunoaște atributele min și max pentru câmpurile de formular input de tip dată calendaristică
Dacă avem un formular de completare a unei rezervări pentru un loc de parcare* de exemplu, cu data de intrare și dată de ieșire pentru care avem o dată minimă de intrare presetată ne așteptăm ca atributul HTML5 min pe câmpul de dată să impună selectarea unor date calendaristice mai mari sau cel puțin egale cu valoarea datei minime conținute de atributul min. Ceea ce este perfect legitim și mai ales adevărat pentru browserele Chrome, Firefox și altele pentru sistemele de operare Windows și Android.
- Puteți inspecta exemplul descris pe site-ul parcareautopeni.ro produs de Sector web.
Însă vom avea surpriza ca pentru Iphone și browserul Safari valoarea atributului min să nu conteze. Ceea ce ne reduce funcționaitatea formularului respectiv.
Soluția decisivă este sa utilizăm o bibliotecă specifică de tip Date Picker care va rezolva toate aceste probleme semnalate.
Dar, în unele situații nu dorim acest lucru, mai ales atunci când nu ne bazăm pe framework-uri grele precum JQuery care ne coboară nota Core Web Vitals (Google Page Speed).
Și atunci putem apela la o soluție de ușor compromis prin care comparăm valoarea selectată de către utilizator cu data minimă păstrată intr-o variabilă JavaScript și forțăm valoarea câmpului dată să fie cel puțin egală cu valoarea minimă după efectuarea selecției.
Este un compromis pentru că utilizatorul nu este constrâns natural din interfață să selecteze singur o dată mai mare decât data minimă ci sistemul ajustează valoarea deja selectată după comparație cu data minimă.
Problema rămâne deschisă, soluția bibliotecii externe este de luat în seamă dacă nu cumva producătorii vor adapta Safari și mai bine prin respectarea fidelă a HTML 5 integral.
Află detalii privind realizarea site-urilor pe WordPress
Creare site WordPress
Sau ia legatura cu noi aici