Aperçu:
Désolé d'être le répondeur des mauvaises nouvelles, mais après recherche et débogage, il est assez clair qu'il n'y a aucun moyen de personnaliser le style des nouveaux contrôles reCAPTCHA. Les contrôles sont enveloppés dans un iframe, ce qui empêche l'utilisation de CSS pour les styliser, et la politique de même origine empêche JavaScript d'accéder au contenu, excluant même une solution piratée.
Pourquoi pas d'API de personnalisation?:
Contrairement à l' API reCAPTCHA version 1.0 , il n'y a pas d'options de personnalisation dans l' API version 2.0 . Si nous considérons le fonctionnement de cette nouvelle API, il n'est pas surprenant de savoir pourquoi.
Bien que la nouvelle API reCAPTCHA puisse sembler simple, il y a un haut degré de sophistication derrière cette modeste case à cocher. Les CAPTCHA se sont longtemps appuyés sur l'incapacité des robots à résoudre le texte déformé. Cependant, nos recherches ont récemment montré que la technologie d'intelligence artificielle d'aujourd'hui peut résoudre même la variante la plus difficile du texte déformé avec une précision de 99,8%. Ainsi, le texte déformé, à lui seul, n'est plus un test fiable.
Pour contrer cela, nous avons développé l'année dernière un backend d'analyse avancée des risques pour reCAPTCHA qui considère activement l'engagement complet d'un utilisateur avec le CAPTCHA - avant, pendant et après - pour déterminer si cet utilisateur est un humain. Cela nous permet de moins nous fier à la saisie de texte déformé et, à son tour, d'offrir une meilleure expérience aux utilisateurs. Nous en avons parlé dans notre article sur la Saint-Valentin plus tôt cette année.
Si vous pouviez manipuler directement le style des éléments de contrôle, vous pourriez facilement interférer avec la logique de profilage utilisateur qui rend possible le nouveau reCAPTCHA.
Qu'en est-il d'un thème personnalisé?:
Maintenant, la nouvelle API offre une themeoption , par laquelle vous pouvez choisir un thème prédéfini tel que lightet dark. Cependant, il n'existe actuellement aucun moyen de créer un thème personnalisé. Si nous inspectons le iframe, nous trouverons que le themenom est passé dans la chaîne de requête de l' srcattribut. Cette URL ressemble à ce qui suit.
https://www.google.com/recaptcha/api2/anchor?...&theme=dark&...
Ce paramètre détermine le nom de classe CSS utilisé sur l'élément wrapper dans iframeet détermine le thème prédéfini à utiliser.

En fouillant dans la source minified, je trouve qu'il ya effectivement 4 valeurs thématiques valides, ce qui est plus que les 2 figurant dans la documentation, mais defaultet standardsont les mêmes que light.

Nous pouvons voir le code qui sélectionne le nom de classe de cet objet ici.

Il n'y a pas de code pour un thème personnalisé, et si une autre themevaleur est spécifiée, il utilisera le standardthème.
En conclusion:
À l'heure actuelle, il n'y a aucun moyen de iframestyliser complètement les nouveaux éléments reCAPTCHA, seuls les éléments enveloppants autour du peuvent être stylisés. Cela a été presque certainement fait intentionnellement, pour empêcher les utilisateurs de casser la logique de profilage de l'utilisateur qui rend possible la nouvelle case à cocher sans captcha. Il est possible que Google puisse implémenter une API de thème personnalisé limitée, vous permettant peut-être de choisir des couleurs personnalisées pour les éléments existants, mais je ne m'attendrais pas à ce que Google implémente un style CSS complet.