menu element
VoiceXML 2.0
Presents a list of choices to the user and transitions to the chosen information.


accept = "string"
dtmf = "boolean"
id = "string"
scope = "document_dialog"

One of the following values:
approximate The user utterance need only match a sub-phrase of the grammar fragment in order for a recognition match to occur.
exact The user utterance must match every word of the grammar fragment in order for a recognition match to occur.
One of the following values:
false Disables DTMF input for the choices in the menu unless the dtmf attribute is set explicitly on the choice elements.
true The interpreter assigns a sequential number from 1 to 9 to each choice element within the menu. Additional choice elements beyond the ninth item are not assigned DTMF values.
Required. The name of the menu, which can serve as an anchor to jump to.
One of the following values:
dialog The menu's grammars are active only in that menu.
document The menu's grammars are active within any dialog in the same document. If the document is specified as the application root document, the grammar is active in all application documents.



The menu element is a convenient shorthand version for a form that prompts the user to make a choice and then transitions to a different state based on that choice. The menu element uses the prompt element to present a list of choices to the user. Each option in the list is mirrored in a choice element as a speech or DTMF grammar fragment. If the user's input matches the grammar fragment, the Platform navigates to the location specified by the next or expr attribute or fires the event specified by the event attribute of that choice element.
The dtmf attribute of a choice element overrides the DTMF value supplied by the containing menu element.
The Tellme VoiceXML interpreter supports recording during recognition within a menu element in revision 3 and later. For further information, see the utterance recording tutorial.

The following example offers a menu with three choices. The grammar fragment specified for each choice element corresponds to item from the prompt list. To hear a sports report, the user can press 1 or say "e s p n sports" or just "sports." To hear a news report, the user can press 2 or say "caltech news" or just "news." To hear a weather report, the user can press 3 or say "bay area weather" or just "weather."

<?xml version="1.0"?>
<vxml version="2.1"

  <catch event="event.myapp.quit">
     <exit />

  <var name="sUrlWeather" expr="'#weather_report'"/>

  <!-- only say welcome the first time -->
  <form id="intro">
        <goto next="#read_news"/>

  <menu id="read_news" dtmf="true">
      Say E S P N sports, weather, Caltech news, or quit.

    <!-- demo the next attribute -->
    <choice next="#sports_report" accept="approximate">(e s p n) sports</choice>

    <choice next="#news_report">?caltech news</choice>

    <!-- demo the expr attribute -->
    <choice expr="sUrlWeather">[(bay area)] weather</choice>

    <!-- demo the event attribute and explicit dtmf -->
    <choice event="event.myapp.quit" dtmf="0">quit</choice>

    <catch event="nomatch noinput help">
      <reprompt />

  <form id="sports_report">
      <break size="medium"/> 
      The New York Giants will win the Superbowl next year!
      <goto next="#read_news"/>

  <form id="weather_report">
      <break size="medium"/> 
      It will be mostly clear and sunny today.
      <goto next="#read_news"/>

  <form id="news_report">
      California News! <break size="medium"/> 
      An earthquake in Northern California 
      caused damages in the billions.
      <goto next="#read_news"/>

[24]7 Inc.| Terms of Service| Privacy Policy| General Disclaimers