If the sentence had read "Das ist ein Menü.", that would have been just fine. However, translating "es" as "this" is a bit loose I think. Non-literal translations like that are perfectly fine when a strictly literal translation doesn't sound natural in the target language or doesn't convey exactly the same meaning, but "Es ist ein Menü." does actually translate perfectly literally into English (which is not really all that common), and should probably be left that way. If I were asked, I'd also say "Das ist ein Menü." was wrong in this case even though the gist of the translation is the same in either case.
I am from Berlin and we would use Speisekarte as well or just Karte. I am not aware that one would use Menü for that. Menü for me is either something like these McDonalds meals where you get a burger, fries and a drink for a discount price or in "fancy" restaurants where you buy a Menü and it consists of several dishes like salad than soup than main meal than dessert. And last but not least a menu in a computer program is a Menü.
The use of "an" and "a" in English depends on the first sound of the next word. ("An" before vowel sounds, "a" before consonants.) It is never going to be "an menu". "Es" is always "it". So "It is a menu" not "This is a menu". ("This is a menu" would be "Das ist ein Menü", which is also "That is a menu".)
The accusative case is the object of the verb, the thing that is acted upon. This is a sentence with the verb "to be", there is no accusative case here. "It" and "a menu" are both nominative (subject) case. That does not change the way you translate "ein" from German to English.
In America, there is no such thing as "ordering a menu" (unless you are actually purchasing a card with a list of items!). Menu is pretty exclusively used as the chart that tells you what items to order. If you are ordering a specific pre-defined set of items, that is sometimes referred to as a "meal" (though usually only at fast food places). Typically, if you are ordering a set of food items at a nicer restaurant, they tend to use some other phrase to describe it (often borrowing the French phrase "prix fixe").
So what I get is that "Menü" is a set group of items purchased together. Eg McDonalds Combo, full course meal, lunch special, or a computer game menu.
Speisekarte or "Karte" would be a menu or a list of available food and beverage.
We also have "a la carte" borrowed from french, where servers walk around with carts of food and write down what you eat on a card. What would you call that in Deutsche? Would you translate the phrase directly or would there be a specific word or phrase?