New gun control measures for Florida have passed another legal hurdle, weeks after one of the worst school shootings in US history.

The state's House of Representatives passed a bill raising the age to buy a gun from 18 to 21 and imposing a three-day waiting period on all gun sales.

The bill, already passed by the Senate, now goes to the state governor.

Seventeen people were killed at Marjory Stoneman Douglas High School in Parkland, Florida, on 14 February.

Expelled former student Nikolas Cruz, 19, has been charged in the attack. He was formally indicted by a grand jury on Wednesday on 34 counts, including 17 counts of premeditated first-degree murder and 17 counts of attempted first-degree murder.

He is suspected of using a legally bought AR-15 semi-automatic rifle to carry out the 10-minute attack, gunning down teachers and students.

What is in the new law?

In addition to raising the age and bringing in the three-day waiting period, the legislation:

Introduces a voluntary armed "guardian programme" for schools, named after Aaron Feis, a coach who died in the Parkland shooting. It allows school personnel to be armed, subject to school district approval and specialist training
Classroom teachers are excluded from carrying arms unless they have a security forces background
Bans devices, such as bump stocks, that modify a semi-automatic weapon to fully automatic
Raises mental health funding and increases the power to seize or ban guns under mental health concerns
The legislation does not include a ban on the sale of assault-style weapons like the AR-15, despite it being a key demand of Parkland students and their parents.

Florida law already mandates a three-day waiting period for the purchase of a handgun but a person as young as 18 can buy a rifle with no waiting period.

The Republican-controlled House debated the bill for about eight hours on Wednesday before voting 67-50 in favour.

Has the move been welcomed?

Ryan Petty, whose daughter was among those killed, hailed the House's vote in a tweet.

He said: "We know that when it comes to preventing future acts of school violence, today's vote is just the beginning of our journey."

State Democratic Party legislators who backed the bill said it was necessary despite the "poison pill" of allowing more guns in schools under the guardian programme. Florida now joins at least six other states in allowing school employees to carry firearms.

Following the Parkland shooting, many surviving students had lobbied politicians for greater gun control.

Gun control activists will hope the Florida measures will be a turning point in their battle with the powerful National Rifle Association and others who defend firearms ownership under the Second Amendment of the US constitution.

On the day the vote passed, a 17-year-old woman student was killed in a suspected accidental shooting at a high school in Alabama.

What happens now?

Governor Rick Scott will need to sign the bill, known as the Marjory Stoneman Douglas High School Public Safety Act, into law.

It will automatically become law within 15 days unless he vetoes it.

Mr Scott has not yet said he will back it, telling reporters he would "review the bill line by line" and consult victims' families.

He has previously said he opposes US President Donald Trump's call to arm teachers. He had also previously opposed increasing the purchase age from 18 to 21.