JavaScript.

Démo de SortableJS, réordonner une liste de menus par drag-and-drop

Vous pouvez le tester en direct avec l'exemple ci-dessus.
Faites un click gauche sur 'Home' par exemple, gardez le bouton appuyé et déplacez l'item ou bon vous semble, tout en restant dans le menu, relâchez le bouton et vous verrez que ça fonctionne très bien.
Cela marche aussi avec des Tabs et d'une manière générale avec les listes de type 'unordered ou ordered lists' (ul ou ol).

Créer son propre menu contextuel avec HTML et Javascript

Cliquez dans la boîte avec le bouton droit de la souris