In a small bowl, mix the lemon zest with the lemon juice, sugar, salt and pepper. Then gradually whisk in the oil and set aside.
For the salad
Place two medium-sized bowls with ice water on your work space. Cut the bottom few inches (the tough portion), off of the asparagus and discard. Then rinse and peel them from just below the floret, using a vegetable peeler.
Place a steamer in a pot with the water level just below it. Over high heat, bring the water to a boil and then add the asparagus to the rack and cover. Steam just until tender, about 5 minutes. Immediately add the steamed asparagus to one of the bowls of ice water and let it sit for a couple of minutes. Then remove, dry, and cut them into bite-sized pieces. Set aside.
Peel the carrots and trim the ends. Then cut them into bite-sized pieces. Using the same steamer pot, over high heat, bring the water to a boil and then add the carrots and cover. Steam just until tender, about 8 minutes. Now immediately add the steamed carrots to the other bowl of ice water and let it sit for a couple of minutes. Remove, dry and set aside.
Making sure the cooked black rice is room temperature or cooler, add it to a large mixing bowl. Add the onion and drizzle almost all of the dressing over it and mix until the rice and onion are well coated.
Very gently fold in the onion, steamed asparagus and carrots and cranberries, and drizzle the remaining dressing on top.