Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Declarative WebMCP: a radio group's parameter never gets a `description`

Ouverte Adaptée aux débutants
#362 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
78/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
html, javascript
Domaine
frontend, web-dev

Piste de recherche

Commencez par localiser la logique déclarative qui transforme les formulaires en schémas d’outils et qui construit les paramètres à partir d’entrées radio regroupées. Reproduisez le cas avec le <form> fourni et inspectez document.modelContext.getTools() pour confirmer que la description est absente. Mettez à jour la gestion des groupes radio afin d’utiliser d’abord toolparamdescription, puis de revenir au nom accessible du groupe. Vérifiez le comportement avec des tests pour les groupes radio et les types de contrôles existants.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Summary

A declarative tool form builds a parameter for a group of radio buttons that share a name, with each radio's
label as the title of its choice. The parameter itself never gets a description. Every other control type
we tried (text, textarea, checkbox, select, select multiple, range) takes one from toolparamdescription or
from its <label>. As a result, an agent sees the choices but not what the group is.

Reproduction

<form toolname="createProfile" tooldescription="Creates a profile.">
  <fieldset>
    <legend>Shift</legend>
    <label><input type="radio" name="shift" value="day" toolparamdescription="Which shift they work."> Day</label>
    <label><input type="radio" name="shift" value="night"> Night</label>
  </fieldset>
  <button type="submit">Create</button>
</form>
(await document.modelContext.getTools())[0].inputSchema.properties.shift

Expected: a description for shift. The obvious sources are toolparamdescription on a radio in the
group (or on all of them), the <legend> of the <fieldset> the group sits in, or the accessible name of an
enclosing role="radiogroup".

Actual:

{
  "type": "string",
  "anyOf": [
    { "type": "string", "const": "day", "title": "Day" },
    { "type": "string", "const": "night", "title": "Night" }
  ],
  "enum": ["day", "night"]
}

None of these added a description:

  • toolparamdescription on the first radio, the second radio, or both
  • aria-description on a radio
  • aria-description on the <fieldset>
  • the <fieldset>'s <legend>

It is not a stale schema. Changing toolparamdescription on a text input in the same form is reflected by the
next getTools() call, and removing and restoring toolname (re-registering the tool) did not add one either.

Suggestion: use the first toolparamdescription found among the group's radios. Failing that, fall back
to the group's accessible name: the <legend> of the nearest <fieldset>, or the label of a
role="radiogroup" ancestor. That would mirror the <label> fallback other controls already get.

Langage dominant
Bikeshed
Étoiles
4.7k
Forks
328
Merge moyen
2 j 9 h
PR mergées (30 j)
15

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de webmachinelearning/webmcp

Toutes les issues de webmachinelearning/webmcp

Issues similaires

Plus d'issues Web Dev

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.