fix: std-dev tooltip positioned incorrectly and lacks discoverability #19
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beskrivning
Tooltipen som visar "Rating Range: 890 - 948 (±29)" hamnar helt fel
på sidan — istället för att följa muspekaren vid hover dyker den upp
mitt i tabellen, oankrad till hover-elementet. Dessutom är det oklart
för användaren att tooltipen ens finns eller vad den visar.
Tooltipen visar predikterad ratings konfidensintervall baserat på
standardavvikelsen från
calculatePredictedRating()isrc/services/rating-calculator.js— alltså spridningen i spelarenssenaste rundresultat.
Teknisk orsak
CSS och JS är inkonsekventa kring positioneringsstrategi:
public/css/players.css:99-113—.std-dev-tooltipanvänderposition: absolutepublic/js/tooltips.js:5-6, 10-11— JS sätterleft/topmede.clientX/e.clientY(viewport-koordinater)position: absolutepositionerar relativt närmaste positioneradeförfader. Efter mobilredesignen (commit
cc9d8eb) ändrades.rating-stackfrån vertikal till horisontell flexbox, och någonstansi den nya layouten finns nu en positioneringskontext (eller
transform)som bryter den tidigare implicita kopplingen till
<body>.Jämför med
.chart-tooltip(players.css:83) som korrekt använderposition: fixed— den fungerar fortfarande.Markup-kontext
Tooltipen finns på två ställen per spelarrad i
views/partials/ratings-table.ejs:70, 81:#tooltip-rating-<pdga>triggas av hover på.rating-value(nuvarande rating)#tooltip-stddev-<pdga>triggas av hover på.predicted-value(predikterad rating)Båda visar samma
Rating Range-text baserad på sammadata-stddev.Förslag till lösning
1. Fixa positioneringen (bugfix)
Ändra
.std-dev-tooltipfrånposition: absolutetillposition: fixedipublic/css/players.css:100, så den matcharviewport-koordinaterna som JS:en redan beräknar (samma mönster som
.chart-tooltipanvänder).2. Gör tooltipen upptäckbar (UX)
Idag finns ingen visuell ledtråd att rating-talet är hovrbart. Förslag:
.rating-value/.predicted-value(t.ex.cursor: help+ svag understrykning)(t.ex.
±29synligt bredvid predikterad rating) — då behövs ingentooltip alls för det primära värdet
samma info)
3. Tydligare formulering
"Rating Range: 890 - 948 (±29)" är kryptiskt. Förslag på alternativ
formulering att diskutera:
rating-prediktionen
Scope
Ingår:
position: absolute→position: fixedi.std-dev-tooltippresentation av ±-värdet)
Ingår inte:
.chart-tooltipetc.)