Faits: A. A._ est paraplégique depuis vingt ans. Le 4 octobre 2008, il s'est rendu seul au cinéma V._, à Genève, pour assister à la projection d'un film qui ne figurait à l'affiche d'aucune autre salle genevoise. Le bâtiment abritant le cinéma, exploité par X._ Sàrl, n'est pas adapté aux personnes en fauteuil roulant; celles-ci ne peuvent ni accéder aux salles, ni en sortir sans l'aide de tiers. A._ s'est vu refuser l'accès au cinéma en vertu de directives de sécurité internes de la société exploitante. Il s'en est plaint auprès de cette dernière, sans succès. Integration Handicap (anciennement Fédération suisse pour l'intégration des handicapés) est une association venant en aide aux personnes handicapées. B. Le 28 septembre 2009, A._ et Integration Handicap ont ouvert action contre X._ Sàrl. Le premier concluait au paiement d'une indemnité de 5'000 fr. plus intérêts, au motif qu'il avait subi une discrimination en se voyant refuser l'accès au cinéma. La seconde demandait qu'il soit constaté que A._ avait été traité de façon discriminatoire et que l'interdiction faite par la société exploitante aux personnes avec un handicap physique d'accéder au cinéma constituait un traitement discriminatoire. X._ Sàrl a conclu au rejet de l'action de A._ et à l'irrecevabilité de l'action d'Integration Handicap faute de qualité pour agir, subsidiairement à son rejet. Au cours de l'instruction, il a été procédé à un transport sur place. A cette occasion, A._ - qui pèse 80 kg - a fait la démonstration qu'avec l'aide de deux personnes, il pouvait entrer en fauteuil roulant - d'un poids d'environ 15 kg - dans la salle de cinéma et sortir par l'issue de secours. Par jugement du 15 septembre 2011, le Tribunal de première instance du canton de Genève a rejeté l'action de A._ et, dans la mesure où elle était recevable, celle d'Integration Handicap. Integration Handicap s'est pourvue en appel (art. 308 CPC) alors que A._ a déposé un recours (art. 319 CPC). Après avoir ordonné la division des causes, la Chambre civile de la Cour de justice du canton de Genève a rejeté l'appel d'Integration Handicap et confirmé le jugement attaqué dans un arrêt du 11 mai 2012. C. Integration Handicap interjette un recours en matière civile. Elle conclut à ce qu'il soit constaté que X._ Sàrl a traité A._ de façon discriminatoire au sens de l'art. 6 LHand. X._ Sàrl propose le rejet du recours en tant qu'il est recevable. 